学习testng参数化的2种方式
第一种:写在testng.xml配置文件里面。
在testng.xml中添加parameter参数:
注入testng.xml中定义的<parameter>参数:
读取结果如图:
package com.mg.java.maven.day06; import org.testng.annotations.Parameters; import org.testng.annotations.Test; /** * 测试testng参数化 * * @author admin * */ public class TestngParamterDemo { @Parameters(value = { "browserType1", "browserType2" }) @Test public void test(String browserType1, String browserType2) { System.out.println("browerType1=" + browserType1); System.out.println("browerType2=" + browserType2); } }
第二种:DataProvider数据提供者(同时提供多组测试数据)实现参数化:
定义了2个二维数组dataProvider1和dataProvider2用来给test01方法提供测试数据,test01方法里面需要定义参数来接受数据提供者提供的数据,数组的里面的数据有几个就执行几次。类似于ddt
package com.mg.java.maven.day06; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; /** * DataProvider参数化 * * @author admin * */ public class DataProviderDemo { @Test(dataProvider = "dataProvider2") public void test01(String name, int age, String gender) { System.out.println("name=" + name + "age=" + age + "gender=" + gender); } @DataProvider(name = "man") // 可以指定数据提供者的名字,不指定默认为方法名 public Object[][] dataProvider1() { Object[][] datas = { { "张三", 18, "男" }, { "李四", 19, "男" } }; return datas; } @DataProvider public Object[][] dataProvider2() { Object[][] datas = { { "小红", 20, "女" }, { "小英", 21, "女" } }; return datas; } }