经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » 编程经验 » 查看文章
Allure--自动化测试报告生成
来源:cnblogs  作者:小屁妞  时间:2018/10/10 8:49:27  对本文有异议

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

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

 

接下来教大家来使用Allure,生成自己高大上的测试报告,带有失败用例截图、测试步骤和测试说明信息。

第一步,在maven中添加依赖并进行相应的配置:

  1. <properties>
  2. <aspectj.version>1.8.10</aspectj.version>
  3. </properties>
  4.  
  5. <dependencies>
  6. <dependency>
  7. <groupId>io.qameta.allure</groupId>
  8. <artifactId>allure-testng</artifactId>
  9. <version>2.6.0</version>
  10. <scope>test</scope>
  11. </dependency>
  12.  
  13. <dependency>
  14. <groupId>org.aspectj</groupId>
  15. <artifactId>aspectjweaver</artifactId>
  16. <version>${aspectj.version}</version>
  17. </dependency>
  18. </dependencies>
  19.  
  20. <plugin>
  21. <groupId>org.apache.maven.plugins</groupId>
  22. <artifactId>maven-surefire-plugin</artifactId>
  23. <version>2.10</version>
  24. <configuration>
  25. <!--设置参数命令行-->
  26. <argLine>
  27. -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
  28. </argLine>
  29. <systemPropertyVariables>
  30. <!--是否忽略html,解释见下图。与之后在reportNg报告上显示截图相关。当前已经使用allure了,这里可以直接去掉啦-->
  31. <org.uncommons.reportng.escape-output>false</org.uncommons.reportng.escape-output>
  32. </systemPropertyVariables>
  33. <!--测试失败后,是否忽略并继续测试-->
  34. <testFailureIgnore>true</testFailureIgnore>
  35. <argLine>
  36. -Dfile.encoding=UTF-8
  37. </argLine>
  38.  
  39. <suiteXmlFiles>
  40. <!--代表的是要执行的测试套件名称-->
  41. <suiteXmlFile>src/test/resources/testNG.xml</suiteXmlFile>
  42. </suiteXmlFiles>
  43.  
  44. </configuration>
  45.  
  46.  
  47. </plugin>

 

第二步:在Jenkins中安装Allure的插件【系统管理】-【插件管理】-【可选插件】中下载并安装Allure,安装后重启。安装成功后,可在【系统管理】-【插件管理】-【已安装插件】中看到

 

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

 

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

 

 

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

保存即可。

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

 

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

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

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

 

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

  1. public class TestFailListener extends TestListenerAdapter {
  2. @Override
  3. public void onTestFailure(ITestResult result) {
  4. takePhoto();
  5. }
  6. @Attachment(value = "screen shot",type = "image/png")
  7. public byte[] takePhoto(){
  8. byte[] screenshotAs = ((TakesScreenshot)BaseTester.driver).getScreenshotAs(OutputType.BYTES);
  9. return screenshotAs;
  10. }
  11. }

使用Allure的attachment注解,即可实现报告中显示截图的需求。

第三步,将监听配置到testNG的配置文件中

 

截图效如下图:

 

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

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

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

 

 效果如下图:

 

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

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号