在搭建Jenkins自动化测试平台后,我们点击立即构建就可以运行测试用例了,但没有地方查看测试报告,现在写这篇博客总结怎么在Jenkins显示reportng测试报告。

在maven项目配置reportng

因为testng生成的测试报告比较丑,现在用reportng来生成测试报告,然后配置Jenkins构建完成显示测试报告。 
1、在pom.xml添加reportng依赖

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

2、在testng.xml添加reportng的监听 
相关代码如下:

<listeners>
<listener class-name="org.uncommons.reportng.HTMLReporter" />
<listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
</listeners>
<usedefaultlisteners name="false" />

Jenkins配置reportng

1、为了方便在Jenkins查看测试报告,需在Jenkins安装插件“HTML Publisher Plugin” 

2、然后在项目配置里添加构建后的操作,点击“添加构建后操作步骤”-publish HTML reports,如下图: 

3、填写reportng生成报告的路径、报告的文件名、报表名称,保存,如下图: 

4、这时,点击立即构建,构建完成就会出现“测试报告”按钮,如下图: 

5、点击“查看报告” 

此时的报告就显示了一条竖线,内容却是空的。这是因为Jenkins 1.641/1.625.3 在静态文件头中引入了Content-Security-Policy,它为保护jenkins的html/js、用户目录以及文档等,设置了非常严格的权限保护。

6、解决测试报告内容不显示的情况 
### 由于Jenkins引入权限保护政策,我们在启动Jenkins时添加权限放松规则。具体如下: 
(1)打开tomcat的bin目录下的catalina.bat文件 

(2)添加代码:

set JAVA_OPTS="-Dhudson.model.DirectoryBrowserSupport.CSP=\"sandbox; default-src 'self';\""

7、重启tomcat后立即构建项目,此时的测试报告如下: 

这时测试报告显示出来了,但是又中文乱码

8、解决测试报告中文乱码

中文乱码是由于生成报告过程的代码在将模板文件替换后输出到页面时未转码导致的,解决如下:

(1)下载reportng1.1.4源码,修改AbstractReporter中的generateFile这个方法中的代码,源码如下:

protected void generateFile(File file,String templateName,VelocityContext context) throws Exception
{
Writer writer = new BufferedWriter(new FileWriter(file));
try
{
Velocity.mergeTemplate(classpathPrefix + templateName,ENCODING,context,writer);
writer.flush();
}
finally
{
writer.close();
}
}

修改后如下:

protected void generateFile(File file,String templateName,VelocityContext context) throws Exception
{
//Writer writer = new BufferedWriter(new FileWriter(file));
//encoding to utf-8
OutputStream out=new FileOutputStream(file);
Writer writer = new BufferedWriter(new OutputStreamWriter(out,"utf-8"));
try
{
Velocity.mergeTemplate(classpathPrefix + templateName,ENCODING,context,writer);
writer.flush();
}
finally
{
writer.close();
}
}

已改好的jar包下载地址:

http://download.csdn.net/download/galen2016/9971792

(2)重新把reportng1.1.4的源码打成jar包,然后替换下面运行时所用的那个reportng的jar包,我的在这个目录下: 

9、重新构建项目,构建完成后点击“测试报告”,此时测试报告终于显示出来了,如下图: 

转载。 https://blog.csdn.net/galen2016/article/details/77165430

Jenkins显示reportng测试报告的更多相关文章

  1. ReportNG测试报告模板定制

      部分参考:http://tech.it168.com/a2013/0906/1530/000001530755_3.shtml ReportNG提供了简单的方式来查看测试结果,并能对结果进行着色, ...

  2. jenkins展示html测试报告(不使用html publisher)

     最终效果: 点击『测试报告』,查看测试报告: 一开始的思路是: jenkins上展示html报告[转载] jenkins使用HTML Publisher Plugin插件 拉取报告样式缺失问题解决 ...

  3. jenkins显示发送邮件发送成功但是邮箱没收到

    jenkins显示发送邮件发送成功但是邮箱没收到 解决方案: 重新配置一下系统管理-系统设置-Extended E-mail Notification

  4. jenkins发送html测试报告

    jenkins发送html测试报告  https://blog.csdn.net/galen2016/article/details/77975965/ <!DOCTYPE html> & ...

  5. Jenkins集成allure测试报告

    前言 Allure框架是一个功能强大的自动化测试报告工具,不仅支持多种编程语言,而且能够完美的与各种集成工具结合,包括Jenkins,TeamCity,Bamboo,Maven等等,因此受到了很多测试 ...

  6. ReportNg 测试报告的定制修改【转】

    前言 前段时间在Testerhome上面看到了测试报告生成系列之-------如何用 testNG 生成测试报告 简单的描述了一些测试报告的生成,接着有人在评论中回复说可以针对reportNg的测试报 ...

  7. ReportNG测试报告的定制修改(一)

    目前笔者接触的自动化测试报告有两种,这两种都是开源的,第一种是ReportNG,第二种是ExtentReports,两种风格各异,ExtentReports自带饼图,页面很炫,但是我们今天讲的是Rep ...

  8. pytest+jenkins+allure 生成测试报告发送邮件

    前言第一部分:Pycharm for Gitee1. pycharm安装gitee插件2. gitee关联本地Git快速设置- 如果你知道该怎么操作,直接使用下面的地址简易的命令行入门教程:3. Gi ...

  9. jenkins展示report测试报告的配置

    HTML报告展示 1. 需要HTML Publisher plugin插件 2. 在workspace下的工程(构建)中的目录中存储测试报告 在Jenkins中新建一个job,进入配置项. 首先通过p ...

随机推荐

  1. CodeForces - 1251D (贪心+二分)

    题意 https://vjudge.net/problem/CodeForces-1251D 您是一个大型企业的负责人.在您的企业当中共有n位员工为您工作,而且非常有趣的事是这个n是一个奇数(n不能被 ...

  2. limit的优化

    SELECT * FROM t_fly WHERE fly_id IN (8888,1,24,6666); 查询速度很快,对于一些过万数据的查询,mysql也能轻松的查询出来

  3. go语言设计模式之template

    template.go package template import ( "strings" ) type MessageRetriever interface { Messag ...

  4. LG3092 「USACO2013NOV」No Change 状压DP

    问题描述 https://www.luogu.org/problem/P3092 题解 观察到 \(k \le 16\) ,自然想到对 \(k\) 状压. 设 \(opt[i]\) 代表使用硬币状况为 ...

  5. 将静态页面部署到github.io

    背景:   我的腾讯云服务器是之前利用学生身份(有优惠)买的,现在快到期了,而且服务器上面只有一个引导页(静态页面)还有用,别的项目都没有用了.所以就想找一种不花钱买服务器就可以访问到我的引导页的方法 ...

  6. Installation request for topthink/think-captcha ^3.0 -> satisfiable by topthink/think-captcha[v3.0.0].

    ThinkPHP5.1安装图形验证码的时候报错: Problem 1 - Installation request for topthink/think-captcha ^3.0 -> sati ...

  7. java 连缀用法

    连缀用法,即是在实例化对象时,同时为对象的属性设值. 如示例所示,在创建对象时,同时调用属性的设值函数,为属性赋值 Apple apple = new Apple() .setColor(" ...

  8. C++ delete 和 delete []的区别

    转载自https://blog.csdn.net/cbNotes/article/details/38900799 1.我们通常从教科书上看到这样的说明:delete 释放new分配的单个对象指针指向 ...

  9. 使用VS2017+WDK10开发xp驱动

    VS2017+WDK10使用默认配置可以开发出运行在win7的驱动,但要开发运行在xp的驱动,还要进行如下操作: Dervier Settings -> Driver Model -> t ...

  10. Python爬取上交所一年大盘数据

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 半个码农2018 PS:如有需要Python学习资料的小伙伴可以加点 ...