Allure+testNG(一):手把手教你用Allure生成優(yōu)美的測試報告

如何使用Allure生成優(yōu)美的可視化報告,我參考了很多文章,發(fā)現(xiàn)大家寫的都不一樣,而且寫的很不清楚,大部分都會講到和jenkins集成,但是很少會講本地如何直接查看;而且在添加maven依賴的時候也遇到了一些坑,所以我決定自己記錄一下,也希望大家遇到這些坑的時候能找到解決辦法。

我參考的教程是《高大上的測試報告-Allure開源框架探索》

一、 Allure安裝

以windows為例,其他系統(tǒng)可以參考官網(wǎng) Allure官方文檔

  1. 下載allure:
    在下載的時候遇到了第一個坑,一般會讓你去官網(wǎng)上下載或者按照官網(wǎng)的指引,使用scoop下載,可是我的電腦是win7,PowerShell沒有自帶;直接去官網(wǎng)的github下面下載真的好慢啊。
    就在這個時候,我發(fā)現(xiàn)官方文檔下面有個手動下載,這個地方點開來下載真的好快,好快。。。
    image.png

    如果所有的地方都下不到的話,那只能祭出我的某盤了 allure-commandline-2.9.0
  2. 運行bin目錄下的allure.bat
  3. 添加 安裝路徑\allure-2.7.0\bin至環(huán)境變量PATH
    完成以上步驟之后,測試一下是否安裝成功 allure --version
User>Administrator>allure --version
2.9.0

二、 配置pom.xml

以下是我查看很多文章后總結(jié)出來最全的allure需要的依賴了

    <properties>
        <aspectj.version>1.8.10</aspectj.version> <!--AspectJ是一個基于Java語言的AOP框架-->
        <allure.version>2.9.0</allure.version>
        <!-- 解決mvn編譯亂碼問題-->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

這里我用的是testng生成測試報告

    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.11</version>
    </dependency>

allure的testng插件

    <!--allure的testng插件-->
    <dependency>
        <groupId>ru.yandex.qatools.allure</groupId>
        <artifactId>allure-testng-adaptor</artifactId>
        <version>1.3.6</version>
        <exclusions>
            <exclusion>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <!-- 依賴Guice -->
    <dependency>
        <groupId>com.google.inject</groupId>
        <artifactId>guice</artifactId>
        <version>4.0</version>
    </dependency>

    <dependency>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-testng</artifactId>
        <version>2.0-BETA14</version>
        <scope>test</scope>
     </dependency>

    </dependencies>
   <build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.20</version>
            <configuration>
                <argLine>
                    -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                </argLine>
                    <!--生成allure-result的目錄-->
                    <systemProperties>
                        <property>
                            <name>allure.results.directory</name>
                            <value>./target/allure-results</value>
                        </property>
                    </systemProperties>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.aspectj</groupId>
                    <artifactId>aspectjweaver</artifactId>
                    <version>${aspectj.version}</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
  </build>

這里說一下自己踩的兩個坑:

  1. 我們把allure生成的報告放在這個目錄下./target/allure-results,而實際生成allure報告結(jié)果的時候往往會需要先clean再生成,而生成報告的時候不會自動在target這個目錄下自動創(chuàng)建allure-results這個文件夾,所以我就改成了./allure-results這個路徑,這樣會在工程根目錄下自動生成一個allure-results文件夾而不會報錯了。
  2. aspectjweaver這個依賴我在使用maven自動導(dǎo)入依賴的時候一直標(biāo)紅,于是我自行下載了一個jar,然后手動導(dǎo)入就OK 了。

三、 生成allure報告

先把test下的測試cese跑一遍

mvn clean test

跑完之后會在工程的根目錄下生成一個allure-results文件夾,里面都是json格式的文件,不要慌張,allure可以生成html網(wǎng)頁通過web服務(wù)方式呈現(xiàn)出來。
allure提供了三種命令:

allure serve [path of allure result]

path of allure result就是allure生成的那些json格式文件所在的地址,這里就是前面說的allure-results文件夾
執(zhí)行這個命令我們看看會發(fā)生什么:

D:\project\auto-test>allure serve allure-results
Generating report to temp directory...
Report successfully generated to C:\Users\ADMINI~1\AppData\Local\Temp\5753073181191844087\allure-report
Starting web server...
2019-11-15 12:02:44.786:INFO::main: Logging initialized @3140ms to org.eclipse.jetty.util.log.StdErrLog
Server started at <http://192.168.1.208:51608/>. Press <Ctrl+C> to exit

這個時候瀏覽器會自動將生成的html格式報告打開
這里我又遇到一個坑,打開了頁面是這個樣子的


image.png

后來發(fā)現(xiàn)是因為公司的vpn打開了,關(guān)掉之后就能正常展示


image.png

這里還有一個重點就是allure serve xxx這種方法會自動幫你生成報告到默認(rèn)的地址C:\Users\ADMINI~1\AppData\Local\Temp\5753073181191844087\allure-report
所以這里還有一種命令,你可以生成一個指定的報告到指定位置

allure generate [path of allure result]

這個時候會生成一個allure-report在你定位的文件夾內(nèi),這個方法不會自動幫你啟動瀏覽器
生成allure-report之后,你需要再次手動打開allure-report

allure open [path of allure report]

當(dāng)然這個時候路徑應(yīng)該是allure-report所在的文件夾路徑。
下一章再給大家介紹怎么更規(guī)范的去編寫你的自動化case使報告更美觀,符合你的要求。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容