testng学习(参数化)

学习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;
    }

}
原文地址:https://www.cnblogs.com/xiamaojjie/p/12251294.html