【问题标题】:cannot pass data from @DataProvider to JSON无法将数据从 @DataProvider 传递到 JSON
【发布时间】:2017-08-30 01:35:19
【问题描述】:

我的所有请求都失败了,似乎我无法将数据从 dataprovider 传递到 json 字段。有什么想法和想法吗?

我正在使用 @dataprovider 为我的性能测试传递多个值。我为 dataprovider 中的每个值获取状态代码 200,但无法将 dataprovider 值传递到 Json 字段“值”中。 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";
    }




}

【问题讨论】:

    标签: java json testng dataprovider


    【解决方案1】:

    您的 buildJson 方法根本没有使用该参数。将值部分替换为

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

    【讨论】:

    • 太好了,非常感谢 - 我已经更改了它,它按预期工作。感谢您的帮助。
    猜你喜欢
    • 2015-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-22
    相关资源
    最近更新 更多