参数化测试就是,当测试的时候给测试方法传递参数
package com.course.testng.paramter;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class CanShuTest {
@Test
@Parameters({"name","age"})
public void test1(String name,int age){
System.out.println("name = " + name + "; age = " + age);
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<suite name="parameter">
<test name="param">
<classes>
<parameter name="name" value="zhangsan"/>
<parameter name="age" value="10"/>
<class name="com.course.testng.paramter.CanShuTest"/>
</classes>
</test>
</suite>
package com.course.testng.paramter;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import java.lang.reflect.Method;
public class CanShuTets1 {
@Test(dataProvider = "data0")
public void test0(String name,int age){
System.out.println("name =" + name +"; age=" + age);
}
@DataProvider(name="data0")
public Object[][] data0(){
Object[][] o = new Object[][]{
{"jack",10},
{"rose",20}
};
return o;
}
@Test(dataProvider = "data1")
public void test1(String name,int age){
System.out.println("test111方法 name="+name+";age="+age);
}
@Test(dataProvider = "data1")
public void test2(String name,int age){
System.out.println("test222方法 name="+name+";age="+age);
}
@DataProvider(name="data1")
public Object[][] methodDataTest(Method method){
Object[][] result=null;
if(method.getName().equals("test1")){
result = new Object[][]{
{"jack",20},
{"rose",25}
};
}else if(method.getName().equals("test2")){
result = new Object[][]{
{"jack",50},
{"rose",60}
};
}
return result;
}
}










网友评论