Testng在maven中配置Reportng及执行

Maven的pom.xml配置:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>com.cubic.autotest</groupId>

<artifactId>autotest</artifactId>

<packaging>war</packaging>

<version>1.0-SNAPSHOT</version>

<name>autotest Maven Webapp</name>

<url>Welcome to Apache Maven</url>

<dependencies>

<!--

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>3.8.1</version>

<scope>test</scope>

</dependency>

-->

<dependency>

<groupId>org.apache.maven</groupId>

<artifactId>maven-ant-tasks</artifactId>

<version>2.1.3</version>

</dependency>

<dependency>

<groupId>org.testng</groupId>

<artifactId>testng</artifactId>

<version>6.8</version>

</dependency>

<dependency>

<groupId>velocity</groupId>

<artifactId>velocity-dep</artifactId>

<version>1.4</version>

</dependency>

<dependency>

<groupId>velocity</groupId>

<artifactId>velocity</artifactId>

<version>1.4</version>

</dependency>

<dependency>

<groupId>org.uncommons</groupId>

<artifactId>reportng</artifactId>

<version>1.1.5</version>

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

<!-- 依赖Guice -->

<dependency>

<groupId>com.google.inject</groupId>

<artifactId>guice</artifactId>

<version>3.0</version>

<scope>test</scope>

</dependency>

</dependencies>

<build>

<finalName>autotest</finalName>

<plugins>

<!-- 添加插件,添加ReportNg的监听器,修改最后的TestNg的报告 -->

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-surefire-plugin</artifactId>

<version>2.5</version>

<configuration>

<suiteXmlFiles>

<file>testNG.xml</file>

</suiteXmlFiles>

<properties>

<property>

<name>usedefaultlisteners</name>

<value>false</value>

</property>

<property>

<name>listener</name>

<value>org.uncommons.reportng.HTMLReporter, org.uncommons.reportng.JUnitXMLReporter</value>

</property>

</properties>

<!--<workingDirectory>target/</workingDirectory>-->

<!-- <forkMode>always</forkMode> -->

</configuration>

</plugin>

</plugins>

</build>

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<!--<xmlFileName>testNG.xml</xmlFileName>-->

<!--<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>-->

</properties>

</project>

在testng的配置文件中配置listeners:

<?xml version="1.0" encoding="utf-8" ?>

<suite name="Default suite" parallel="false">

<test name="testdemo">

<classes>

<class name="Car.CarTest"/>

</classes>

<listeners>

<listener class-name="org.uncommons.reportng.HTMLReporter" />

<listener class-name="org.uncommons.reportng.JUnitXMLReporter" />

</listeners>

</test>

</suite>

Testng中文乱码问题

使用maven进行构建导入官网的testng包后,然后执行mvn test,执行testng.xml配置文件时,生成的报告中会存在乱码问题。

原因是要修改AbstractReporter中的generateFile方法中

//Writer writer = new BufferedWriter(new FileWriter(file));

//encoding to utf-8

OutputStream ut=new FileOutputStream(file);

Writer writer = new BufferedWriter(new OutputStreamWriter(out,"utf-8"));

修改完成之后还要重新打包为jar包,如下,是我在pom.xml中配置的(注意:包名必须保持一致,不能修改)。

<groupId>org.uncommons</groupId>

<artifactId>reportng</artifactId>

<version>1.1.5</version>

将修改好的jar包导入到本地maven仓库才能像上边这样引用:

http://blog.csdn.net/liuchang__/article/details/72877895

如上链接说明了怎样添加。当然也可以上传到公司的maven仓库,然后在pom中引用也可以。

Reportng-1.1.5的jar包已经上传到我自己的csdn,后续如果要找jar包,直接去csdn查找下载。

HTML Report在jenkins上显示

首先根据这个链接下载HTML Publisher Plugin插件:Jenkins插件HTML Publisher Plugin的使用

Jenkins在配置完HTML Publisher插件后,在配置没有问题情况下打开html report时会显示空白,根据网上的说法,是因为安全问题导致的,这里记录下来,以后遇到类似问题可以查看:

参考链接:

解决Jenkins中无法展示HTML样式问题:九毫:解决 Jenkins 中无法展示 HTML 样式的问题

解决 jenkins 下使用 HTML Publisher 插件后查看 html 报告显示不正常 以 jmeter 报告为例

注意:修改完成后,一定要注意看Result下的结果为Result:,并且必须重启Tomcat服务。

Testng能做的事整理:

Testng忽略测试

如果代码还没有准备就绪,需要禁用某个测试用例:

需要在用例中添加@Test(enabled=false)。

Testng用例超时限制测试

如果需要让某个用例测试时间在某个范围内,需要添加超时时间:

添加@Test(timeOut=5000) 5000毫秒超时时间

Testng分组测试

@Test(group=”demo_test”)使用分组测试可以进行某个模块分类管理等。

具体使用可参考:TestNG分组测试 - TestNG教程™

Testng指定包名称进行测试,指定包含或排除某些方法,指定包含或排除某些分组等配置:TestNG套件测试 - TestNG教程™

Testng依赖测试

在@Test注释中使用属性 dependsOnMethods或者,

在@Test注释中使用属性 dependsOnGroups。

如果依赖方法失败,则跳过所有后续测试方法。

TestNG依赖测试 - TestNG教程™

Testng参数化方式测试

@Parameters和@DataProvider方式传递,详细实例:

TestNG参数化测试 - TestNG教程™​www.yiibai.com

maven导入模块后重新导入有两个一样的_Testng在Maven中配置Reportng中文乱码解决及笔记记录...相关推荐

  1. python导入模块方法_Python导入模块的3种方法(非常详细)

    许多初学者经常遇到这样的问题: 自定义Python模板后,在其他文件中使用带有import(或从... import)语句导入文件时,Python解释器还会出现以下错误: ModuleNotFound ...

  2. phpmyadmin设置编码和字符集gbk或utf8_导入中文乱码解决方法

    phpmyadmin设置编码和字符集gbk或utf8_导入中文乱码解决方法 参考文章: (1)phpmyadmin设置编码和字符集gbk或utf8_导入中文乱码解决方法 (2)https://www. ...

  3. Eclipse导入项目出现中文乱码解决方法

    Eclipse导入项目出现中文乱码解决方法 在使用eclipse导入课本的java文件或网上项目时会遇到中文乱码问题 步骤一 1. Project--Properties--Resource--Tex ...

  4. maven 多模块项目如何导入其他模块的第三方 jar 包

    背景 写了半年的 Vue 前端,今天对整个前后端项目结构进行了一下梳理,在打包项目时,碰到一个 maven 多模块依赖的问题,本文将记录一下这个问题及其解决办法. 问题描述 整个工程是基于 maven ...

  5. python无法导入模块_python怎么导入模块

    Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句.模块让你能够有逻辑地组织你的 Python 代码段. 把相关的代码分 ...

  6. python导入模块失败_Python导入模块时遇到的错误分析

    当遇到无法导入某个python模块时,可能会是没有安装某个模块,也有可能是某模块在加载过程中失败,也有可能是陷入了循环导入的问题.本文详细解释了这个问题. 1. 模块未安装或者路径不对 ImportE ...

  7. 第10.3节 Python导入模块能否取消导入?

    模块导入后,是否可以取消导入?实际上当模块导入后,是无法逆向还原到导入前的状态的,但是可以利用"del 模块名"进行导入模块的删除,此时的删除只是删除了导入模块对应的模块变量名,删 ...

  8. python导入模块错误_Python导入模块时遇到的错误分析

    导读热词 当遇到无法导入某个python模块时,可能会是没有安装某个模块,也有可能是某模块在加载过程中失败,也有可能是陷入了循环导入的问题.本文详细解释了这个问题. 1. 模块未安装或者路径不对 Im ...

  9. python五十一:动态导入模块,通过字符串导入模块

    目录结构如下: # 动态导入模块方式一: byd = __import__("car.BYD") # 返回的是最顶层的模块print(byd)# byd.run() byd.BYD ...

最新文章

  1. Apr.2010 Microsoft MVP连任
  2. binlog开启和查看
  3. The Report(连接查询)
  4. 从多篇2021年顶会论文看多模态预训练模型最新研究进展
  5. mysql 阿里云 优化_MySQL性能优化速记
  6. Spring--Context
  7. Bash脚本教程之read命令
  8. 消息中间件那些事--RabbitMQ
  9. php中文歌词,html如何制作滚动歌词
  10. duration java_Java Duration类| minusMillis()方法与示例
  11. java正则 转义_java – 正则表达式和转义和未转义的分隔符
  12. axios post json_助你解析Axios原理之一:如何实现多种请求方式
  13. 光环PMP 项目范围管理 、项目进度管理、项目成本管理、项目质量管理
  14. 面试官的窒息逼问:2021最全的接口测试面试题及参考答案
  15. js实现60秒倒计时
  16. Fiddler 和 Wireshark抓包教程合集
  17. EXCEL完成一个柱形图与折线图组合图表
  18. 解决 git 文件夹不显示绿色图标和红色图标的问题
  19. 如何在博客插入UML图
  20. NBA常规赛总三分排行榜(数据截止至11年4月14日)

热门文章

  1. 分区起始位置参数溢出_Kafka分区副本分配解析
  2. 高考还没结束,这份试卷已经流出,你能拿多少分?
  3. 抢鲜体验:openGauss 安装编译过程要点及问题解决
  4. PostgreSQL实际场景的十大缺陷你知道吗?
  5. MySQL DBA面试高频三十问
  6. 看从小自带BUFF的他,如何用代码降低万物互联的门槛
  7. 2020HC大会上,这群人在讨论云原生…
  8. 5G从小就梦想着自己要迎娶:高速率、低时延、大容量三个老婆。
  9. 【API进阶之路】因为不会创建云服务器,我被实习生摆了一道
  10. 一文快速掌握IPv6基础知识及使用指南