Allure集成TestNG和Jenkins

1 Allure簡介

Allure是一個著名的開源測試報告框架青团。在GitHub上匾灶,Allure的Star超過了1500個。Allure生成測試報告分為兩步:

  • 測試執(zhí)行階段:Allure適配器保存測試執(zhí)行信息到XML文件中掂铐。Allure的適配器支持與Java简肴、Python吐限、JavaScript稠项、Ruby驾荣、Groovy轻猖、PHP帆吻、.NET和Scala語言中流行的測試框架集成。對于Java而言咙边,Allure可與JUnit 4猜煮、JUnit 5次员、TestNG、Cucumber JVM和Selenide集成王带。
  • 報告生成階段:可通過使用命令行工具淑蔚、CI插件和構建工具來將XML文件轉換為HTML報告。使用命令行工具通過allure serve命令生成并打開測試報告時愕撰,Allure會默認使用Jetty作為服務器刹衫,使用默認瀏覽器打開測試報告。

2 集成TestNG

  1. 創(chuàng)建Maven工程TestNG Allure(可自行命名)搞挣,在工程src/test目錄新增resources目錄绪妹,在resources目錄新增allure.properties文件,在allure.properties文件新增以下配置:
allure.results.directory=target/allure-results
  1. 在工程pom.xml文件的<project>標簽中新增以下配置:
<properties>
    <aspectj.version>1.9.5</aspectj.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>7.0.0</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-testng</artifactId>
        <version>2.13.1</version>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.2</version>
            <configuration>
                <argLine>
                    -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                </argLine>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.aspectj</groupId>
                    <artifactId>aspectjweaver</artifactId>
                    <version>${aspectj.version}</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>
  1. 在工程src/test目錄新增com.lujiatao.testng.allure包(可自行命名)柿究,在com.lujiatao.testng.allure包新增TestNGWithAllure類(可自行命名)邮旷,在TestNGWithAllure類新增以下代碼:
package com.lujiatao.testng.allure;

import io.qameta.allure.Description;
import io.qameta.allure.Severity;
import io.qameta.allure.SeverityLevel;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class TestNGWithAllure {

    @BeforeClass
    public void setUp() {
        System.out.println("setUp");
    }

    @Test(description = "測試用例_001描述(TestNG)")
    @Severity(SeverityLevel.CRITICAL)//Allure用例級別
    public void testCase_001() {
        System.out.println("testCase_001");
    }

    @Test
    @Description("測試用例_002描述(Allure)")
    @Severity(SeverityLevel.NORMAL)
    public void testCase_002() {
        System.out.println("testCase_002");
    }

}

Allure自帶很多注解,以上只演示了@Description和@Severity的用法蝇摸,更多可參考Allure官方文檔婶肩。

  1. 執(zhí)行mvn clean test執(zhí)行測試用例。
  2. 執(zhí)行allure serve target\allure-results生成并打開測試報告(命令行工具安裝見文末“4 (附)命令行工具安裝”)貌夕。


    命令行工具生成的測試報告

3 集成Jenkins

Jenkins安裝和使用不在本文介紹范圍律歼,可自行參考相關文章。

  1. 安裝Allure插件啡专。
  2. 進入“Global Tool Configuration”险毁,點擊“Allure Commandline installations... → Add Allure Commandline”,填寫Name们童、選擇Version畔况。


    Jenkins全局配置
  3. 在Jenkins創(chuàng)建TestNGWithAllure Maven項目(可自行命名),將工程TestNG Allure代碼上傳到SVN(也可用Git)慧库。
  4. 選擇Subversion跷跪,填寫Repository URL、選擇Credentials(沒有憑證的話新建一個)齐板。


    代碼地址和憑證配置
  5. 填寫Goals and options吵瞻。


    Maven命令配置
  6. 點擊“Add post-build action”,選擇“Allure Report”甘磨,填寫Path橡羞。


    Allure測試報告路徑配置
  7. 觸發(fā)構建,在TestNGWithAllure項目里可以看到Allure的入口济舆。


    Jenkins的Allure入口
  8. 進入后可以看到與命令行工具生成并打開測試報告的結果是一致的卿泽。


    Jenkins生成的測試報告

4 (附)命令行工具安裝

命令行工具安裝方式有多種,這里以Windows為例使用壓縮包方式安裝吗冤。

  1. 安裝JRE又厉。
  2. 下載命令行工具壓縮包九府,下載地址:http://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.13.1/allure-commandline-2.13.1.zip
  3. 解壓到D:\Program Files目錄(也可以用其他目錄)。
  4. 編輯系統(tǒng)變量Path覆致,追加以下路徑:
;D:\Program Files\allure-2.13.1\bin
  1. 打開CMD窗口侄旬,執(zhí)行allure --version回顯2.13.1表示安裝成功。

5 參考文獻

Allure Framework:https://docs.qameta.io/allure/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末煌妈,一起剝皮案震驚了整個濱河市儡羔,隨后出現的幾起案子,更是在濱河造成了極大的恐慌璧诵,老刑警劉巖汰蜘,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異之宿,居然都是意外死亡族操,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門比被,熙熙樓的掌柜王于貴愁眉苦臉地迎上來色难,“玉大人,你說我怎么就攤上這事等缀〖侠颍” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵尺迂,是天一觀的道長笤妙。 經常有香客問我,道長噪裕,這世上最難降的妖魔是什么蹲盘? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮州疾,結果婚禮上辜限,老公的妹妹穿的比我還像新娘。我一直安慰自己严蓖,他們只是感情好,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布氧急。 她就那樣靜靜地躺著颗胡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吩坝。 梳的紋絲不亂的頭發(fā)上毒姨,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天,我揣著相機與錄音钉寝,去河邊找鬼弧呐。 笑死闸迷,一個胖子當著我的面吹牛,可吹牛的內容都是我干的俘枫。 我是一名探鬼主播腥沽,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鸠蚪!你這毒婦竟也來了今阳?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤茅信,失蹤者是張志新(化名)和其女友劉穎盾舌,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體蘸鲸,經...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡妖谴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了酌摇。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片膝舅。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖妙痹,靈堂內的尸體忽然破棺而出铸史,到底是詐尸還是另有隱情,我是刑警寧澤怯伊,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布琳轿,位于F島的核電站,受9級特大地震影響耿芹,放射性物質發(fā)生泄漏崭篡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一吧秕、第九天 我趴在偏房一處隱蔽的房頂上張望琉闪。 院中可真熱鬧,春花似錦砸彬、人聲如沸颠毙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛀蜜。三九已至,卻和暖如春增蹭,著一層夾襖步出監(jiān)牢的瞬間滴某,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留霎奢,地道東北人户誓。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像幕侠,于是被迫代替她去往敵國和親帝美。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355