2017-08-30 7 views
1

Toutes mes demandes échouent et semblent être je ne suis pas en mesure de transmettre les données de dataProvider au champ json. Des pensées et des idées? J'utilise @dataprovider pour transmettre plusieurs valeurs pour mes tests de performance. Je reçois le code d'état 200 pour chaque valeur dans le fournisseur de données mais ne peux pas transmettre les valeurs de fournisseur de données dans les "valeurs" de champ Json. Le champ Valeurs prend chaque valeur dataProvider et demande à l'API d'obtenir les informations.ne peut pas transmettre les données de @DataProvider à JSON

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"; 
    } 




} 

Répondre

4

Votre méthode buildJson n'utilise pas du tout le paramètre. Remplacez les valeurs avec une partie

" \"values\":[" + values + "\"]" +

+0

Grand, merci beaucoup - je l'ai changé et cela fonctionne comme prévu. Apprécier ton aide. – 9009