使用Allure+testNG自動生成漂亮強大的測試用例報告


最近領導讓我找一個可以每次打包自動生成測試用例的東西,jenkins或者idea都可以,

最后找到了這個allure,也踩了很多坑,廢話不多說!,總結一下:

1 使用原生allure

添加依賴:

        <!-- 依賴reportNg 關聯testNg-->
        <dependency>
            <groupId>org.uncommons</groupId>
            <artifactId>reportng</artifactId>
            <version>1.1.4</version>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.testng</groupId>
                    <artifactId>testng</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <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>
            <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>

這塊配置生成目錄一定要正確,最好在target下面,默認會是surefile-results目錄,可自己查看

使用特定注解編寫測試代碼:

@Feature("前線突擊測試")
public class Test01 {

    @Test(description = "侯征測試")
    @Story("測試發券")
    @Description("主要測試四種券發送")
    @Step("測試步驟....")
    public void failedTest(){
        Assert.assertEquals(2,2);
    }
}

 

打包查看

項目根目錄,使用命令:

mvn clean test

allure serve target/allure-results

會自動打開瀏覽器:

 

2 使用jenkins插件集成allure:

安裝插件

 

配置allure

 

這里目錄一定要和自己配置的目錄一樣,可先查看打包后在哪個目錄,確保一定正確,不然用例報告沒有數據

pom添加依賴

        <!-- 依賴reportNg 關聯testNg-->
        <dependency>
            <groupId>org.uncommons</groupId>
            <artifactId>reportng</artifactId>
            <version>1.1.4</version>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.testng</groupId>
                    <artifactId>testng</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <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>

pom添加插件

            <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>

這里這個目錄很重要,最好這里直接指定,不使用默認的.

編寫代碼

@Feature("前線突擊測試")
public class Test01 {

    @Test(description = "侯征測試")
    @Story("測試發券")
    @Description("主要測試四種券發送")
    @Step("測試步驟....")
    public void failedTest(){
        Assert.assertEquals(2,2);
    }
}

jenkins查看

 注意點:生成內容為空問題(一般是路徑不對):

我用的高版本,所以如果不寫生成路徑,默認是target/surefire-reports目錄下,之前一直搞錯了路徑,所以一直有問題,

關於這個問題,如果為空,先去查看打包后的目錄,看看生成的index.html這些在哪個目錄,再看自己配置的對不對,

我就是被這個給坑了,網上說的都沒有這一點,一定記住!

 


免責聲明!

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



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