我正在开发一个将Allure 框架与 Java、TestNG 和 Maven 结合使用的项目。但是在我的 Java 程序中使用 Allure @Step 和 @Attachment 注释时,我无法生成正确的 XML 文件。任何演示上述注释用法的示例代码都值得赞赏。我正在使用 Allure 1.4.0.RC8。
问问题
21176 次
2 回答
7
这些注解以与任何基于 Java 的测试框架相同的方式使用。
要创建一个步骤:
- 使用步骤逻辑创建具有任何可见性修饰符(公共、私有、受保护)的方法,并使用 @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。这通常通过指向aspectj-weaver.jar文件的-javaagent JVM 参数来完成。
进一步阅读:
于 2014-08-07T10:45:40.873 回答
0
您还可以为@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) {
...
}
于 2021-06-24T07:34:06.123 回答