Allure--自動化測試報告生成


之前嘗試使用過testNG自帶的測試報告、優化過reportNG的測試報告,對這兩個報告都不能滿意。后經查找資料,發現有個神器:

Allure(已經有allure2了,筆者使用的就是allure2),生成的測試報告與上述兩種對比,簡直完美!先上個測試報告的圖表,給大家直觀感受下:

 

接下來教大家來使用Allure,生成自己高大上的測試報告,帶有失敗用例截圖、測試步驟和測試說明信息。

第一步,在maven中添加依賴並進行相應的配置:

 <properties>
        <aspectj.version>1.8.10</aspectj.version>
    </properties>

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

        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
</dependencies>

 <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.10</version>
                <configuration>
                    <!--設置參數命令行-->
                    <argLine>
                        -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                    </argLine>
                    <systemPropertyVariables>
                        <!--是否忽略html,解釋見下圖。與之后在reportNg報告上顯示截圖相關。當前已經使用allure了,這里可以直接去掉啦-->
                        <org.uncommons.reportng.escape-output>false</org.uncommons.reportng.escape-output>
                    </systemPropertyVariables>
                    <!--測試失敗后,是否忽略並繼續測試-->
                    <testFailureIgnore>true</testFailureIgnore>
                    <argLine>
                        -Dfile.encoding=UTF-8
                    </argLine>

                    <suiteXmlFiles>
                        <!--代表的是要執行的測試套件名稱-->
                        <suiteXmlFile>src/test/resources/testNG.xml</suiteXmlFile>
                    </suiteXmlFiles>

                </configuration>


            </plugin>

 

第二步:在Jenkins中安裝Allure的插件【系統管理】-【插件管理】-【可選插件】中下載並安裝Allure,安裝后重啟。安裝成功后,可在【系統管理】-【插件管理】-【已安裝插件】中看到

 

第三步:到girhub上下載Allure2 ,地址:https://github.com/allure-framework/allure2/releases

 

下載之后解壓到相應目錄下,如:

 

 

第四步,在Jenkins的【系統管理】-【全局工具配置】中設置allure的安裝地址:

保存即可。

此時通過Jenkins構建並執行測試代碼后,就可以看到Allure的測試報告了。以上,完成了Allure的基本配置。

 

好啦,Allure可以使用了,接下來,我們挖掘下該工具其他好用的點。

第一:生成失敗用例截圖:

第一步:在測試類上,添加Listeners的注解

 

 第二步:實現自己的用例的監聽,監聽到之后進行截圖

public class TestFailListener extends TestListenerAdapter {
   
    @Override
    public void onTestFailure(ITestResult result) {
        takePhoto();
    }

    @Attachment(value = "screen shot",type = "image/png")
    public byte[]  takePhoto(){
        byte[] screenshotAs = ((TakesScreenshot)BaseTester.driver).getScreenshotAs(OutputType.BYTES);
        return screenshotAs;
    }

}

使用Allure的attachment注解,即可實現報告中顯示截圖的需求。

第三步,將監聽配置到testNG的配置文件中

 

截圖效如下圖:

 

 第二:顯示測試描述信息。

在測試報告中,我們期望可以看到每個case的描述信息,可以使我們的測試過程更加清晰。

只需要在Test注解中,給description進行賦值即可:

 

 效果如下圖:

 

是不是很心動,趕緊動手試試吧!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM