1、参数化测试
fiveTest类获取fiveTest.xml文件中定于变量
package com.lsc;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class fiveTest {
@Test
@Parameters({"one","two", "three", "four"})
public void parameter(String one,int two,String three,String four){
System.out.println();
System.out.println("111 = "+ one+"; 222 = "+two);
System.out.println("333 = "+ three+"; 444 = "+four);
}
}
<?xml version="1.0" encoding="utf-8" ?>
<suite name = "parameter">
<test name = "para">
<parameter name = "one" value="111111111111"/>
<parameter name = "two" value="2222"/>
<parameter name = "three" value="333333333333"/>
<parameter name = "four" value="4444444444444"/>
<classes>
<class name = "com.lsc.fiveTest"/>
</classes>
</test>
</suite>
执行结果:
2、参数化测试 (DataProvider)
package com.lsc;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import java.lang.reflect.Method;
public class fiveTest3 {
@Test(dataProvider = "data")
public void testProviderData(String name,int age){
System.out.println("name = "+ name +"; age = "+age);
}
@DataProvider(name = "data")
public Object[][] providerData(){
Object[][] para = new Object[][]{
{"11111",11},
{"22222",22},
{"33333",33}
};
return para;
}
@Test(dataProvider = "methodData")
public void test1(String name,int age){
System.out.println("test1方法 name = "+name+"; age = "+age);
}
@Test(dataProvider = "methodData")
public void test2(String name,int age){
System.out.println("test2方法 name = "+name+"; age = "+age);
}
@DataProvider(name = "methodData")
public Object[][] methodDataTest(Method method){
Object[][] result = null;
if (method.getName().equals("test1")){
result = new Object[][]{
{"44444",44},
{"55555",55},
{"66666",66}
};
}else if (method.getName().equals("test2")){
result = new Object[][]{
{"77777",77},
{"88888",88},
{"99999",99}
};
}
return result;
}
}
public void testProviderData执行结果,输出Object[][] para
public void test1执行结果,通过if (method.getName().equals("test1"))判断输出@DataProvider(name = "methodData")
public void test2执行结果,通过if (method.getName().equals("test2"))判断输出@DataProvider(name = "methodData")