@DateProvider可以用来做数据驱动,数据源文件可以是Excel,XML也可以是TXT文本。
1.DataProvider与Test方法在同一个class中
Demo:
1 2 3 4 5 6 7 8 9 10 11 12 13
| public class TestNGDemo { @DataProvider(name = "myData") public Object[][] DataPrObjects() { Object[][] obj = new Object[][] { { "a1", "a2" }, { "b1", "b2" }, { "c1", "c2" } }; return obj; }
@Test(dataProvider = "myData") public void TestDataProvider(String data1, String data2) { System.out.println("->" + data1 + ":" + data2); } }
|
运行结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| [RemoteTestNG] detected TestNG version 6.11.0 ->a1:a2 ->b1:b2 ->c1:c2 PASSED: TestDataProvider("a1", "a2") PASSED: TestDataProvider("b1", "b2") PASSED: TestDataProvider("c1", "c2")
=============================================== Default test Tests run: 3, Failures: 0, Skips: 0 ===============================================
=============================================== Default suite Total tests run: 3, Failures: 0, Skips: 0 ===============================================
|
2.DataProvider与Test方法不在同一个class中
1 2 3 4 5 6 7 8
| public class TestNGDemoNew { @Test(dataProvider = "myData",dataProviderClass = com.TestNGDemo.class) public void TestDataProvider(String data1,String data2) { System.out.println("->"+data1+":"+data2); } }
|
运行结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| [RemoteTestNG] detected TestNG version 6.11.0 ->a1:a2 ->b1:b2 ->c1:c2 PASSED: TestDataProvider("a1", "a2") PASSED: TestDataProvider("b1", "b2") PASSED: TestDataProvider("c1", "c2")
=============================================== Default test Tests run: 3, Failures: 0, Skips: 0 ===============================================
=============================================== Default suite Total tests run: 3, Failures: 0, Skips: 0 ===============================================
|