@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