testng+allure集成:http://www.lxweimin.com/p/1424f50a38b8
allure+java使用demo
所有注解(具體注解的意思可以自行去查看API)
image.png
一、常見參數說明
@Feature:標注主要功能模塊
@Story:標注Features功能模塊下的分支功能
@Step:標注測試用例的重要步驟
@Severity:標注測試用例的重要級別
@Description: 標注測試用例的描述
@Issue:對應缺陷管理系統里面的鏈接
@Link:定義一個鏈接,在測試報告展現
@Attachment:報告添加附件
二、測試demo
package testcase;
import io.qameta.allure.*;
import org.apache.log4j.Logger;
import org.testng.annotations.*;
import java.io.IOException;
@Features(value = {@Feature(value = "登錄")})
public class TestClass {
private static Logger logger = Logger.getLogger(TestClass.class);
@Story("登錄頁")
@Test(dataProvider = "data",description = "測試登錄失敗的用例")
@Description("用例描述:測試登錄頁面,這是多條用例描述-----明小五的主頁")
@Attachment("src/test/resources/interface_document.xlsx")
@Issue("BUG號:123")
@Link("http://www.lxweimin.com/p/1424f50a38b8")
public void Test1(String value1,String value2) throws IOException {
logger.info("========開始測試=======");
step1("這是描述測試步驟的方式:第一步:XXX;第二步:XXX");
}
@Story("登錄頁")
@Test(description = "測試登錄成功的用例")
public void Test2(){
System.out.println("Test2");
}
@Story("注冊頁")
@Test(description = "用戶注冊")
public void Test3(){
System.out.println("Test3");
}
@DataProvider
public Object[][] data(){
Object[][] data={{"測試數據1","111"}
,{"測試數據2","222"}};
return data;
}
@Step("Step 1")
public void step1(String param1) throws IOException {
}
}
運行后報告見下圖:
image.png
遇到的問題,希望哪位大神看到了,能幫忙解答一下:
@step注釋可以寫到參數體中動態傳參,@Description怎么才能動態傳參呢?目前我嘗試出來的只能是直接寫入,不能動態傳參,但查詢其他一下資料,比如python下引用allure是可以支持@description動態傳參的,java目前還未找到方法。
之所以想用@Description而不是@step,是因為@step中的寫入的值在報告中折疊顯示的,看著不方便,我是希望能在報告中的@description下直接展示出需要的內容,統一管理每一個testcase描述信息,比如testcase描述信息寫到excel中,根據讀取excel中的case獲取此case相關的描述,從而展示到allure報告的description中。