extentreport自定义报告集成到testng项目中,并在jenkins中指定为默认报告
1、集成extentreportjenkins中安装groovy插件
在任务中添加goovy脚本,填写如下:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
在构建后操作中设置html报告,指定报告位置
在项目的xml中指定监听:
<listeners>
<listener class-name="common.ExtentTestNGIReporterListener"></listener>
<!--<listener class-name="test.sen.example.ExtentTestNGITestListener"></listener>-->
</listeners>
之前在testng项目中增加了自定义报告extentreport,但是集成到jenkins中之后,发现跑完case,这个报告并没有被更新过。于是查了一下网上,发现运行mvn test时默认是寻找项目test目录下的文件运行的,但我们测试报告的监听器实际放在textng.xml中,因此jenkins中的任务配置为mvn test之后,并不会走testng.xml的监听器去生成需要的报告。为了解决这个问题,需要在pom.xml中指定运行的文件为testng.xml
解决办法:在pom.xml中配置一下内容:<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.71</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
页:
[1]