簡體   English   中英

Allure 框架:在 TestNG 和 Maven 中使用 @Step 和 @Attachment 注釋

[英]Allure Framework: using @Step and @Attachment annotations with TestNG and Maven

我正在開發一個將Allure 框架與 Java、TestNG 和 Maven 結合使用的項目。 但是在我的 Java 程序中使用 Allure @Step 和 @Attachment 注釋時,我無法生成正確的 XML 文件。 任何演示上述注釋用法的示例代碼都值得贊賞。 我正在使用傾城 1.4.0.RC8。

這些注釋的使用方式與任何基於 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 參數來完成。

進一步閱讀:

您還可以為@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) {
     ...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM