data provider 自定义二维对象数组
注意事项: 1、定义DataProvider name, 如果没有定义name属性则匹配二维数组名
2、test annotation 要指定dataProvider name和步骤1 的name值相同
3、数组数据类型要和测试方法参数类型匹配。
package logpost;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import org.apache.http.client.ClientProtocolException;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class LogCase {
String url="http://114.91.125.84:9030/login";
String Cookie="UM_distinctid=16dd35171317-034a3d44c9e52c-74797e32-1fa400-16dd3517132f5;"
+ " __guid=210028117.1296739065877634300.1571208394195.895; "
+ "localeValueTemp=undefined; remb=0; n_p_value=;"
+ " _cnzz_CV1277120178=42%7C%E6%99%AE%E9%80%9A%E7%94%A8%E6%88%B7%7C0;"
+ " localeCookie=\"\"; JSESSIONID=AAE0A86847D3FF2A5108FD6E027C02D4; "
+ "CNZZDATA1277120178=347791446-1571204869-%7C1571215925; lang=zh_CN;"
+ " monitor_count=12";
@Test(dataProvider="createData1")//这里用的就是函数名称,如果@DataProvider(name="test1"),则@Test(dataProvider="test1")
public void test(String a,String b) throws InterruptedException {
// String username=a;
String clientUrl="";
// String password="e0efb90a49746d1cb8";
Map<String, String> params=new HashMap<String, String>();
params.put("username", a);
params.put("clientUrl", clientUrl);
params.put("password", b);
System.out.println("---------------");
Set<String>keys=params.keySet();
for (String key : keys) {
String value=params.get(key);
System.out.println("key:"+key);
System.out.println("value:"+value);
}
try {
HttpUtil.doPost(url,Cookie,params);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//@DataProvider
@DataProvider(name="test1")
public Object[][] createData1(){
Object[][] datas= new Object[][]{
{"13852772893","e0efb90a49746d1cb8"}
};
return datas;
}
}
[RemoteTestNG] detected TestNG version 6.9.10
[TestNG] Running:
C:\Users\Administrator\AppData\Local\Temp\testng-eclipse--1490201973\testng-customsuite.xml
---------------
key:password
value:e0efb90a49746d1cb8
key:clientUrl
value:
key:username
value:13852772893
password
e0efb90a49746d1cb8
clientUrl
username
13852772893
状态码是:302
报文信息:[Content-Length: 0,Chunked: false]
报文信息:
str:Found
PASSED: test("13852772893", "e0efb90a49746d1cb8")
===============================================
Default test
Tests run: 1, Failures: 0, Skips: 0
===============================================
===============================================
Default suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================
[TestNG] Time taken by org.testng.reporters.EmailableReporter2@152f6e2: 14 ms
[TestNG] Time taken by org.testng.reporters.jq.Main@818063: 46 ms
[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 4 ms
[TestNG] Time taken by org.testng.reporters.XMLReporter@9a8472: 14 ms
[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@1ebcae2: 24 ms
[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@75222b: 2 ms