基于Java+Maven+Testng+Selenium+Log4j+Allure+Jenkins搭建一个WebUI自动化框架(4)集成Allure报表

通过集成Allure报表,可以让自动化测试结果以美观的图形化界面展现出来。集成步骤:

1、在pom.xml文件中添加allure依赖

复制代码
<!--allure报表依赖-->
<dependency>
    <groupId>io.qameta.allure</groupId>
    <artifactId>allure-testng</artifactId>
    <version>2.12.1</version>
    <scope>test</scope>
</dependency>

2、在pom.xml文件中的<project>标签下设置属性,避免乱码

复制代码
<properties>
    <aspectj.version>1.9.7</aspectj.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>

3、在<project>标签下引入Maven Surefire插件:生成Allure报表

复制代码
<build>
    <plugins>
        <plugin>
            <!-- maven-surefire-plugin 配合testng执行测试用例的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>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>8</source>
                <target>8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

此步骤如果遇到<build>标签下某个包依赖解决不了,可以将这个包放到<project>标签下的<dependencies>标签后,再引入到<build>标签中

例如之前使用的aspectj是1.8.10由于依赖过于低,在Build中就出现了依赖报错的情况,此时我们单独在下面进行添加依赖,后就可以了

复制代码
 <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>1.9.7</version>
    </dependency>

至此,Allure报表的集成操作已经完成了,接下来就可以使用Allure报表生成测试报告。

通过Allure报表生成报告的操作:

(1)在工程目录下新建个testng.xml文件,此处的文件需要与上述Maven Surefire插件配置的testng.xml文件名一致,填入如下信息:

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="All Test Suite" parallel="tests" thread-count="2">
    <test name="测试">
        <classes>
            <class name="com.howentech.testcases.TestBaidu1"/>
            <class name="com.howentech.testcases.TestBaidu2"/>
            <class name="com.howentech.testcases.TestBaidu3"/>
        </classes>
    </test>
</suite>

其中的class是测试用例的类名,文件放置的目录如下图:

(2)在命令行执行命令:

复制代码
mvn clean test

注意:必须使用maven构建测试执行,不能直接在测试类中执行或者在testng.xml中右键执行,那样是生成不了allure报表的。

输入完命令后回车,就会开始构建执行测试用例:

(3)生成allure报表:

复制代码
mvn io.qameta.allure:allure-maven:serve

输入完后,就会生成了Allure报表:

可以清楚查看我们每条用例的执行情况:

相关推荐
道19935 分钟前
50 台小型无人车与50套穿戴终端 5 公里范围内通信组网方案深度研究
java·后端·struts
迎風吹頭髮10 分钟前
UNIX下C语言编程与实践35-UNIX 守护进程编写:后台执行、脱离终端、清除掩码与信号处理
java·c语言·unix
光军oi26 分钟前
全栈开发杂谈————JAVA微服务全套技术栈详解
java·开发语言·微服务
帮帮志27 分钟前
目录【系列文章目录】-(关于帮帮志,关于作者)
java·开发语言·python·链表·交互
聪明的笨猪猪27 分钟前
Java Spring “MVC ”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
Boop_wu2 小时前
[数据结构] Map和Set
java·数据结构·算法
一勺菠萝丶2 小时前
Mac 上用 Homebrew 安装 JDK 8(适配 zsh 终端)完整教程
java·python·macos
毕设源码-朱学姐4 小时前
【开题答辩全过程】以 办公自动化管理系统为例,包含答辩的问题和答案
java·eclipse
李宥小哥6 小时前
C#基础11-常用类
android·java·c#
小许学java7 小时前
数据结构-ArrayList与顺序表
java·数据结构·顺序表·arraylist·线性表