Я работаю над проектом, в котором используется фреймворк Allure с Java, TestNG и Maven. Но я не могу генерировать правильные файлы XML при использовании аннотаций Allure @Step и @Attachment в моей программе Java. Приветствуется любой пример кода, демонстрирующий использование вышеуказанных аннотаций. Я использую Allure 1.4.0.RC8.
Allure Framework: использование аннотаций @Step и @Attachment с TestNG и Maven
comment
Файлы XML не используют аннотации.
- person   schedule 07.08.2014
comment
Возможно неправильно отредактировал вопрос. Исправлено сейчас.
- person vania-pooh   schedule 07.08.2014
comment
@JavaCreeper: вы считаете мой ответ правильным?
- person vania-pooh   schedule 13.08.2014
Ответы (2)
Эти аннотации используются одинаково с любой тестовой средой на основе Java.
Чтобы создать шаг:
- Создайте метод с любым модификатором видимости (public, private, protected) с пошаговой логикой и аннотируйте его аннотацией @Step. При желании вы можете указать имя шага в атрибутах аннотации.
- Вызовите этот метод внутри тестового метода.
Пример:
@Test
public void someTest() throws Exception {
//Some code...
stepLogic();
//Some more assertions...
}
@Step("This is step 1")
private void step1Logic() {
// Step1 implementation
}
@Step("This is step 2")
private void step2Logic() {
// Step2 implementation
}
Чтобы создать вложение:
- Создайте метод с любой видимостью, который возвращает byte[] - содержимое вложения и аннотируйте его аннотацией @Attachment.
- Вызовите этот метод внутри любого теста
Пример:
@Test
public void someTest() throws Exception {
//Some code...
createAttachment();
//Some more assertions...
}
@Attachment(name = "My cool attachment")
private byte[] createAttachment() {
String content = "attachmentContent";
return content.getBytes();
}
Чтобы аннотации @Step и @Attachment работали, вам необходимо правильно включить AspectJ в вашей конфигурации. Обычно это делается с помощью аргумента JVM -javaagent, указывающего на файл aspectj-weaver.jar.
Дальнейшее чтение:
person
vania-pooh
schedule
07.08.2014
Вы также можете использовать параметры для аннотации @Step
. Например, если метод принимает некоторые переменные:
@Step("Get the maximum between {a} and {b}")
public int max(int a, int b){
//implementation
}
Если вам нужно использовать какой-либо объект, вы можете переопределить метод toString()
или использовать необходимые параметры:
public class User {
private String name;
private String password;
...
}
@Step("Type {user.name} / {user.password}.")
public void loginWith(User user) {
...
}
person
Valentyn Hruzytskyi
schedule
24.06.2021