Java自动化测试(allure 20)

时间:2022-07-23
本文章向大家介绍Java自动化测试(allure 20),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

allure官网:

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

在项目中导入 testng 和 allure2 坐标和对应设置

<properties>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.source>1.8</maven.compiler.source>
    <!-- 文件拷贝时的编码 -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <!-- 编译时的编码 -->
    <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
    <aspectj.version>1.9.2</aspectj.version>
</properties>


<!-- testng maven坐标 -->
<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>6.8.8</version>
</dependency>

<!-- allure2 maven坐标 -->
<dependency>
    <groupId>io.qameta.allure</groupId>
    <artifactId>allure-testng</artifactId>
    <version>2.6.0</version>
    <scope>test</scope>
</dependency>

加入 maven-surefire-plugin 插件并进行配置

<build>
    <plugins>
        <plugin>
            <!-- maven-surefire-plugin 配合testng/junit执行测试用例的maven插件 -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.1</version>
            <configuration>
                <!-- 测试失败后,是否忽略并继续测试 -->
                <testFailureIgnore>true</testFailureIgnore>
                <suiteXmlFiles>
                    <!-- testng配置文件名称  -->
                    <suiteXmlFile>testng.xml</suiteXmlFile>
                </suiteXmlFiles>
                <!--设置参数命令行 -->
                <argLine>
                    <!-- UTF-8编码 -->
                    -Dfile.encoding=UTF-8
                    <!-- 配置拦截器 -->
                    -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                </argLine>
                <systemProperties>
                    <property>
                        <!-- 配置 allure 结果存储路径  -->
                        <name>allure.results.directory</name>
                        <value>${project.build.directory}/allure-results</value>
                    </property>
                </systemProperties>
            </configuration>
            <dependencies>
                <!-- aspectjweaver maven坐标 -->
                <dependency>
                    <groupId>org.aspectj</groupId>
                    <artifactId>aspectjweaver</artifactId>
                    <version>${aspectj.version}</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

Maven

https://github.com/zx490336534/auto_api/blob/master/pom.xml

执行

执行内容

clean

首先双击clean进行清理

清理结果

test

双击test开始执行测试

测试结果

测试结果存放

allure-results

报告生成

安装插件

mvn io.qameta.allure:allure-maven:serve

报告

会自动打开报告页面

报告

报告查看

切换语言

在右下角有个按钮可以切换语言

切换语言

查看测试汇总

可以在总览页面查看测试执行通过情况,测试环境,前后运行的趋势,当前的运行器

测试汇总

查看各个测试的情况

测试套中可以查看对应接口的测试情况,可以查看它的参数化构建

测试套

查看耗时情况

时间刻度中可以看到每个接口执行的耗时情况

耗时

查看执行顺序

功能页面可以查看脚本执行顺序

执行顺序

报告内容拓展

用例描述

@Test(dataProvider = "datas", description = "管理员用户信息查询")

标题修改

用例步骤

在测试代码前增加Step

@Step("Type {caseInfo.id} - {caseInfo.url}")

测试步骤

报表断言

新增两个常量

public static final String ASSERT_SUCCESS = "PASSED";
public static final String ASSERT_FAILED = "FAILED";

在测试的最后一行增加:

Assert.assertEquals(assertResult, Constants.ASSERT_SUCCESS);

增加断言后重新执行

测试结果

后续和Jenkins组合执行可以看到测试趋势