1
私のすべてのリクエストは失敗しているため、dataproviderのデータをjsonフィールドに渡すことができません。どのような考えやアイデアですか?は@DataProviderからJSONにデータを渡すことができません
@dataproviderを使用して、パフォーマンステストに複数の値を渡しています。私はdataproviderの各値のステータスコード200を取得していますが、dataproviderの値をJsonフィールドの "values"に渡すことはできません。 Valuesフィールドは各データ提供者の値を取り、apiに情報を要求します。
package com.company.testing;
import static io.restassured.RestAssured.given;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import io.restassured.response.Response;
public class test1 {
Response myResponse;
String baseURL = "http://test.com/1.0/api";
@DataProvider(name = "data")
public Object[][] createTestData() {
return new Object[][]{
{"some1.com"},
{"some2.net"},
{"some3.com"},
{"some4.com"}};
}
@Test(dataProvider = "data")
public void potTest(String values){
Response myResponse;
String baseURL = "http://test.com/1.0/api";
System.out.println(values);
String Json = buildJson(values);
myResponse = given().contentType("application/json").body(Json).when().post(baseURL);
//Print Response
//System.out.println("Request :" + Json);
System.out.println("Response Body : "+myResponse.getBody().asString());
System.out.println("Response Code : "+myResponse.getStatusCode());
System.out.println("Response Time : "+myResponse.getTime());
}
String buildJson(String values){
return "{\n" +
" \"oemid\":\"company1\",\n" +
" \"deviceid\":\"DeviceId\",\n" +
" \"uid\":\"system1\", \n" +
" \"values\":\n" +
" [\"values\"], \n" +
" \"queries\":\n" +
" [\"gethistory\"], \n" +
" \"starttime\" : \"2017-06-10T00:00:00\", \n" +
" \"endtime\" : \"2017-08-25T00:00:00\", \n" +
" \"xml\":0, \n" +
" \"nocache\":1 \n" +
" }\n";
}
}
と値の一部を交換して、どうもありがとうございました - 私はそれを変更しているし、期待どおりに働いています。あなたの助けに感謝。 – 9009