1. 程式人生 > >接口測試進階3-1數據驅動測試

接口測試進階3-1數據驅動測試

ann 測試 system org ide vid imp 京東 測試數據

數據驅動

相同的測試腳本使用不用的測試數據執行,並完全分離了測試數據和測試行為。這樣的模式成為數據驅動

testNG實現數據驅動的兩個關鍵註解

@DataProvider
@Parameters

在當前類中指定數據源

#java
package DateDriver812;

import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

public class Lesson1Data {
    @DataProvider(name = "provider")
    public Object[][] createData(){
        /**
         * 提供數據源
         */
        return new Object[][]{
                {"阿裏","馬雲"},
                {"騰訊","馬化騰"}
        };
    }
    @Test(dataProvider="provider")
    public void testDataProvider(String company,String people){
        /**
         * 接收數據源,每一行作為一組數據,每次接收一組執行一次測試
         */
        System.out.println("company:"+company+"\t"+"people:"+people);
    }
}

company:阿裏 people:馬雲
company:騰訊 people:馬化騰

數據源在其他類中

#java
package DateDriver812;

import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

public class Lesson1Data {

    @Test(dataProviderClass = testdata.TestData.class,dataProvider = "test1")
    /**
     * 指定類:packageName.className.class(class不能少)
     * 指定dataProvider
     */
    public void testDataProviderClass(String company,String people){
        System.out.println("company:"+company+"\t"+"people:"+people);
    }
}
//數據源
package testdata;

import org.testng.annotations.DataProvider;

public class TestData {
    @DataProvider(name = "test1")
    public static Object[][] createDdata(){
        return new Object[][]{
                {"網易","丁磊"},
                {"京東","劉強東"}
        };
    }
}

company:網易 people:丁磊
company:京東 people:劉強東

接口測試進階3-1數據驅動測試