@DataProvider注解使用


本章 讲解@dataProvider注解的使用

@DataProvider注解必须和@test注解一起使用,不然没有任何意义
1、创建一个方法,方法的返回值必须是Object[][]或者Object[]、IteraTor<Object[]>的,在方法上加上@dataProvider注解

如果Object[]提示错误就换一下TestNG版本,比如7.0.0

 @DataProvider public Object[][] getTest() { Object[][] objects = { {"刘备", "123", 1, ""}, {"张飞", "465", 1, ""}, {"关羽", "789", 2, ""}, {"马超", "12345", 2, ""}, {"吕布", "56789", 1, ""} }; return objects; }
 
 @DataProvider public Object[] getUser() { User user1 = new User("刘备", "123", 1, ""); User user2 = new User("张飞", "465", 1, ""); User user3 = new User("吕布", "56789", 1, ""); Object[] objects = {user1, user2, user3}; return objects; }
 
         <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>7.0.0</version>
            <scope>test</scope>
        </dependency>
 

2、在@dataProvider注解内使用属性name设置值,不设置的话默认是方法名

 @DataProvider(name = "getUser")

3、创建一个test方法,在方法上加@test注解,设置dataProvider属性,属性值为@dataProvider设置的name值,如果没有设置就写方法名,

这个是接收二维数组的

   @Test(dataProvider = "getTest")
    public void test(String userName, String password, int type, String sex) {
        System.out.println("账号:" + userName + " , 密码" + password + ", 类型" + type + ", 性别" + sex);
    }

4、接收一维数组的,一维数组的接收必须是对象,所有创建一个User对象来接收素有变量

    @Test(dataProvider = "getUser")
    public void testGetUser(User user) {
        System.out.println(user);
    }

 






免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM