目录
1.TestNG的常用注释
- @BeforeTest:被注释的方法将在测试方法运行前运行
- @AfterTest:被注释的方法将在测试方法运行后运行
- @Test:标记一个类或方法作为测试的一部分
- @Parameters:读取testng.xml中的参数,传递给测试方法
- @DataProvider:为测试方法提供测试数据
2.TestNG参数化的方式
TestNG可以通过两种不同的方式将参数直接传递给测试方法:
- @Parameters:读取testng.xml中的参数,传递给测试方法
- @DataProvider:为测试方法提供测试数据
2.1.使用XML传递参数
2.1.1 在xml文件中,通过<parameter>标签对每个参数进行赋值
创建一个名称为ParameterByXML.xml的文件,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="none">
<parameter name="userName" value="kiki" />
<parameter name="Age" value="5"/>
<parameter name="Address" value="南京"/>
<test name="Test">
<classes>
<class name="com.taobaoxue.day03.ParameterByXML" />
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
2.1.2 读取ParameterByXML.xml中的参数,通过@Parameters注解传递给测试方法
@Parameters注解指定xml文件中的参数name列表,然后在测试方法中声明对应的形参,形参与参数name列表一一对应,但名字可以不同,创建一个名称为ParameterByXML.java的文件,代码如下:
package com.taobaoxue.day03;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
/**
* 使用XML传递参数
* @Parameters:读取ParameterByXML.xml中的参数,传递给测试方法
*
* @author HW
*
*/
public class ParameterByXML {
@BeforeTest
public void beforeTest() {
System.out.println("beforeTest");
}
@Parameters({ "userName", "Age", "Address" })
@Test
public void test(String username, int age, String address) {
System.out.println(username + "---" + age + "---" + address);
}
@AfterTest
public void afterTest() {
System.out.println("afterTest");
}
}
2.1.3 运行结果
ParameterByXML.xml-->Run As-->TestNG Suite, 运行结果如下:
[TestNG] Running:
D:\develop\Workspaces\WebProjects\seleniumIxue\01\ParameterByXML.xml
beforeTest
kiki---5---南京
afterTest
===