Allure–自动化测试报告生成

Allure–自动化测试报告生成之前尝试使用过testNG自带的测试报告、优化过reportNG的测试报告,对这两个报告都不能满意。后经查找资料,发现有个神器:Allure(已经有allure2了,笔者使用的就是allure2),

大家好,又见面了,我是你们的朋友全栈君。

之前尝试使用过testNG自带的测试报告、优化过reportNG的测试报告,对这两个报告都不能满意。后经查找资料,发现有个神器:

Allure(已经有allure2了,笔者使用的就是allure2),生成的测试报告与上述两种对比,简直完美!先上个测试报告的图表,给大家直观感受下:

<span role="heading" aria-level="2">Allure--自动化测试报告生成

<span role="heading" aria-level="2">Allure--自动化测试报告生成

 

接下来教大家来使用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,安装后重启。安装成功后,可在【系统管理】-【插件管理】-【已安装插件】中看到

<span role="heading" aria-level="2">Allure--自动化测试报告生成

 

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

<span role="heading" aria-level="2">Allure--自动化测试报告生成

 

下载之后解压到相应目录下,如:

<span role="heading" aria-level="2">Allure--自动化测试报告生成

 

 

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

<span role="heading" aria-level="2">Allure--自动化测试报告生成

保存即可。

此时通过Jenkins构建并执行测试代码后,就可以看到Allure的测试报告了。以上,完成了Allure的基本配置。

<span role="heading" aria-level="2">Allure--自动化测试报告生成

 

好啦,Allure可以使用了,接下来,我们挖掘下该工具其他好用的点。

第一:生成失败用例截图:

第一步:在测试类上,添加Listeners的注解

<span role="heading" aria-level="2">Allure--自动化测试报告生成

 

 第二步:实现自己的用例的监听,监听到之后进行截图

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的配置文件中

<span role="heading" aria-level="2">Allure--自动化测试报告生成

 

截图效如下图:

<span role="heading" aria-level="2">Allure--自动化测试报告生成

 

 第二:显示测试描述信息。

在测试报告中,我们期望可以看到每个case的描述信息,可以使我们的测试过程更加清晰。

只需要在Test注解中,给description进行赋值即可:

<span role="heading" aria-level="2">Allure--自动化测试报告生成

 

 效果如下图:

<span role="heading" aria-level="2">Allure--自动化测试报告生成

 

是不是很心动,赶紧动手试试吧!!

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155075.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux环境变量的配置_centos设置环境变量

    linux环境变量的配置_centos设置环境变量前言在自定义安装软件的时候,经常需要配置环境变量,下面进行详细解析&nbsp;环境变量配置文件|用户|配置文件||:|:||系统环境|/ect/profil

    2022年7月31日
    16
  • Python网络爬虫之抓取订餐信息「建议收藏」

    Python网络爬虫之抓取订餐信息「建议收藏」本文以大众点评网为例,获取页面的餐馆信息,以达到练习使用python的目的。

    2022年6月17日
    39
  • 创建位图索引

    创建位图索引创建位图索引位图索引 1 位图索引与 B 树索引不同 位图索引不存储 rowid 值 数据实际物理地址 也不存储键值 2 在特殊的列上创建位图索引 3 特殊的列是指该列的基数很低的列 基数 列值的数量比列的行数来的小 举例 性别列的取值只有 2 个 男女 但是性别列的行数远远大于该列的取值 4 基数很低的列不适合 B 树索引 适合位图索引 oracle 建议 当一个列的所有取值数量与该列的行数比小于 1

    2025年10月9日
    3
  • 数据库错误:ORA-12154

    数据库错误:ORA-12154oracle数据库报错误:ORA-12154:TNS:无法解析指定的连接标识符其中一种可能是本地监听器设置错误打开NetManage以管理员身份运行会出现如下图画面:添加服务命名点击命

    2022年7月1日
    27
  • PKI体系快速了解「建议收藏」

    PKI体系快速了解「建议收藏」首先,PKI(PublicKeyInfrastructure)是一个体系。公钥基础设施是一个包括硬件、软件、人员、策略和规程的集合,用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。PKI体系是计算机软硬件、权威机构及应用系统的结合。它为实施电子商务、电子政务、办公自动化等提供了基本的安全服务,从而使那些彼此不认识或距离很远的用户能通过信任链安全地交流。—百度百科说白了,PKI还是提供了彼此身份确认的服务,确保通信的安全。…

    2022年8月22日
    11
  • Iframe透明背景的解决办法

    Iframe透明背景的解决办法IE5 5 和 NN6 以上的浏览器支持 Frame Iframe 对象的 allowTranspa 方法 如果某对象的背景颜色设置为 Transparency 的 它将继承包含它容器的特性 我们可以通过这个特性实现透明背景的开 关 代码如下 a html 如下 BACKGROUND COLOR transparent 透明文档此 IFRAME 无背景颜色 BODY iframeallowT

    2026年2月1日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号