如何使用Allure生成優(yōu)美的可視化報告亭珍,我參考了很多文章粗井,發(fā)現(xiàn)大家寫的都不一樣,而且寫的很不清楚娱两,大部分都會講到和jenkins集成莺匠,但是很少會講本地如何直接查看;而且在添加maven依賴的時候也遇到了一些坑十兢,所以我決定自己記錄一下趣竣,也希望大家遇到這些坑的時候能找到解決辦法摇庙。
我參考的教程是《高大上的測試報告-Allure開源框架探索》
一、 Allure安裝
以windows為例遥缕,其他系統(tǒng)可以參考官網(wǎng) Allure官方文檔
- 下載allure:
在下載的時候遇到了第一個坑卫袒,一般會讓你去官網(wǎng)上下載或者按照官網(wǎng)的指引,使用scoop下載单匣,可是我的電腦是win7夕凝,PowerShell沒有自帶;直接去官網(wǎng)的github下面下載真的好慢啊户秤。
就在這個時候码秉,我發(fā)現(xiàn)官方文檔下面有個手動下載,這個地方點開來下載真的好快鸡号,好快转砖。。鲸伴。
如果所有的地方都下不到的話府蔗,那只能祭出我的某盤了 allure-commandline-2.9.0 - 運行bin目錄下的allure.bat
- 添加 安裝路徑\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>
這里說一下自己踩的兩個坑:
- 我們把allure生成的報告放在這個目錄下./target/allure-results姓赤,而實際生成allure報告結(jié)果的時候往往會需要先clean再生成,而生成報告的時候不會自動在target這個目錄下自動創(chuàng)建allure-results這個文件夾仲吏,所以我就改成了./allure-results這個路徑模捂,這樣會在工程根目錄下自動生成一個allure-results文件夾而不會報錯了。
- 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格式報告打開
這里我又遇到一個坑羡鸥,打開了頁面是這個樣子的
后來發(fā)現(xiàn)是因為公司的vpn打開了,關(guān)掉之后就能正常展示
這里還有一個重點就是allure serve xxx這種方法會自動幫你生成報告到默認的地址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使報告更美觀衷旅,符合你的要求捐腿。