【TestNG】TestNg的实用技巧01
一、TestNG的简介
1.1 我的简述
一款基于Java的测试用例管理框架,Junit的升级版
1.2 官方表述
TestNG 是一个测试框架,旨在简化广泛的测试需求,从单元测试(单独测试一个类)到集成测试(测试由几个类、几个包甚至几个外部框架组成的整个系统,例如应用服务器)。
编写测试通常是一个三步过程:
- 编写测试的业务逻辑并在代码中 插入TestNG 注释。
- 在testng.xml文件或 build.xml 中 添加有关您的测试的信息(例如,类名、您希望运行的组等) 。
- 运行 TestNG。
二、testNG的实用技巧
常用注解的作用,简单上图

(1)并发
写在 suite 标签内,
<suite name="test1" parallel = "method" thread-count="2">
支持methods 、classes 、tests级别的并发
(2)用例重试
Java class 实现接口IRetryAnalyzer,重写retry方法
然后在 test 方法引入对应的 MyRetry.class
@Test(retryAnalyzer = MyRetry.class)
(3)分组
Test.class 文件 @Test(groups = "{V1,V2}") XML 文件 <groups> <run> </include name="V1"></include> </exclude name="V2"></exclude> #exclude的优先级更高 </run> </groups>
(4)数据驱动
TestNG可以通过两种方式向测试方法传递参数:
- 利用testng.xml
- 利用DataProviders
使用注解 @DataProvider 和 @Factory
- 一、通过@Paramter
-
<suite name="Parameters"> -
<parameter name="xml-file" value="accounts.xml" /> #规定 -
<parameter name="hostname" value="arkonis.example.com" /> -
<test name="ParameterTest"> -
<parameter name="hostname" value="terra.example.com" /> -
... -
</test> -
... -
</suite>
-
@Test(parameters = {"xml-file"}) #使用 -
public void validateFile(String xmlFile) -
{ -
// xmlFile has the value "accounts.xml" -
}
- 二、通过@DataProvider
@DataProvider(name = "D1") #数据提供者
@Test(dataProvider = "D1") #数据提供者
注意事项:
(1)paramter 是提前预设,需要运行时生成 ,建议dataProvider
(2) 一个传递基本的数据类型,另外一个可传递对象
(3)dataProvider 可用于构造多组数据对一个测试点复用
(4)针对dataProvider的参数,数据提供者本身可以接受两个类型的参数:Method和ITestContext



浙公网安备 33010602011771号