1、 工具
1) 打开Eclipse Help ->Install New Software , 然后Add "http://beust.com/eclipse" 下载安装testng插件(便于Eclipse可以通过插件运行操作testng,eg:run as>testng);或者maven testng插件(便于用maven命令执行testng)
2) Maven依赖包:(代码中使用testng框架需要该依赖包)
<!-- TestNG -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.9.10</version>
</dependency>
2、 快速入门实例
1)@test方法注解要执行的测试方法.也可以利用Eclipse的testng插件创建testn.class。具体步骤1)右键testng>generator testng class
2)利用Eclipse的testng插件创建testng.xml,运行testng.xml。具体步骤1)右键testng>convert to testng 即可创建testng.xml
3、 注解解析
1)@test注解解析 (对应测试用例)
a)@test 注解的方法或者类会被测试套件执行。被测试的类会对应的加到<test>节点的<classes>节点下
b)@test 注解还有一些属性 :
@test(parameters=variblename) : parameters 指定变量名variblename。Eg: @test(parameters=testhi)对应testng.xml中的<test>节点下的<parameter name="testhi" value="liuyi"/>
@test(groups="hi"):groups指定测试用例属于哪个group
@test(groups="hi",dependsOnGroups=”say hi”): dependsOnGroups指定测试用例依赖哪个group先执行
@test(enabled=true):enable指定测试用例是否禁用
等等
2)@Parameters("testhi"),@Parameters({"parameter1","parameter2"}):的作用和@test(parameters=variblename)一样
3)@DataProvider(name = "databaseDp")指定参数提供者,该方法必须返回一个二元数组对象。Eg:
@DataProvider(name = "databaseDp")
public Object[][] databaseDataProvider(ITestContext context, Method method)
method:对应的是正在执行的测试套下的测试用例
如果要使用这个数据提供者提供的参数,则要在测试用例中指定参数提供者的name。具体操作如下:
@Test(dataProvider = "databaseDp", description = "3", enabled = true)
public void testScene01(String caseId, String caseTitle, String case_desc, String system_module)
注意:使用DataProvider提供数据有两种形式:
第一种:一种是在把数据提供的代码和测试方法放在同一个类中;
第二种:把所有的数据提供都单独写在另个类里面,当测试数据比较多时,这种方法利于维护。 Test必须指定测试数据Java类,如 @Test(dataProvider="dataprovider2",dataProviderClass=DataProviderMethod.class),否则执行的时候会Skip该方法,有报错提示“......requires a @DataProvider named : dataprovider2”,并且数据类里的方法必须声明为static,不然也提取不了数据。
更多注解详解请参看菜鸟教程或者testng官网 http://testng.org/doc/documentation-main.html