在搭建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. OSPF和ACL的应用

    1.创建拓扑图 2.配置基本网络 3.配置OSPF (1)在R1上配置 (2)在R2上配置 (3)在R3上配置 (4)在IT上配置 4.配置ACL (1)在R3上配置    (2)在R2上配置 (3) ...

  2. 2.jenkins 插件

    默认插件 常用插件,视屏推荐(仅供参考 ) 以下是实际 安装的 插件. SSH SCP publisherGit # 新版jenkins默认就安装了.GitLab Git Parameter Pipe ...

  3. win7 Adobe flash player 无法在线更新

    1.win7 Adobe flash player 无法在线更新,提示应用程序初始化错误 解决方法: 1.https://www.flash.cn/看一下支持的版本,网上找对应版本离线包下载安装即可 ...

  4. 扩展KMP笔记

    KMP能计算一个字符串的每个位置前最长公共前缀后缀 扩展KMP可以用来计算两个字符串间的最长公共前缀后缀的…… 不过为了计算这个需要绕些弯路 已知字符串$S$和$P$,$S$的长度为$n$,$P$的长 ...

  5. RNN及其变体框架

    RNN及其变体框架  含RNN推导 LSTM理解 理解LSTM网络  算法细节理解及参考文献  

  6. Java开发笔记汇总

    Java语法与.Net对比 Java规范与约定 Kotlin Maven笔记 SpringBoot笔记2 SpringCloud笔记 MyBatis笔记 发布Jar包到中央仓库

  7. 【JS】JS校验密码复杂度(必须包含字母、数字、特殊符号)

    #场景一:密码中必须包含大小写 字母.数字.特称字符,至少8个字符,最多30个字符: var pwdRegex = new RegExp('(?=.*[0-9])(?=.*[A-Z])(?=.*[a- ...

  8. swoole进程间如何通信

    Swoole进程间通信的方式 管道pipe 管道用于进程之间的数据交互,Linux系统本身提供了pipe函数用于创建一个半双工通信管道.半双工的通信方式中数据只能单向流动(一端只读一端只写),只能在具 ...

  9. 02-Git远程仓库Github

    1.Git远程仓库 (Gitgub网站作为远程代码仓库时的操作和本地代码仓库一样的,只是仓库位置不同而已) 需要准备的东西: 1.准备Git源代码仓库https://github.com/ 2.准备李 ...

  10. 数据库相关知识积累(sqlserver、oracle、mysql)

    数据库相关知识积累(sqlserver.oracle.mysql) 1. sqlserver :断开所有连接: (还原数据库) 1.数据库  分离 2. USE master GO ALTER DAT ...