Чтение данных из массива JSON для поставщика данных в тестовом режиме - PullRequest
0 голосов
/ 01 октября 2018

Я хочу предоставить данные в моем dataProvider, используя файл json с массивом в одном параметре.

Для одиночного идентификатора он отлично работает

Но

ex.JsonFile

    {
  "dataSet": [
    {
      "testCase": "Verify the limit of IDListwith 11 IDList",
      "IDList": ["1000394","1000418","1000438","1000463","1000464","1000491","1000519","1000525","1000526","1000537","1000549"]

    },
    {
      "testCase": "Verify the limit of ksnList with  ksn",
      "ksnList":[ "1234" ]    

    }
  ]
}

Testng Поставщик данных:

// Несколько идентификаторов

@DataProvider
public static Object[][] getDataMul() throws FileNotFoundException, Exception {
    String path = System.getProperty("user.dir") + "\\input\\MultipleID_ValidJson.json";
       JsonElement jsonData = new JsonParser().parse(new FileReader(path));
        JsonElement dataSet = jsonData.getAsJsonObject().get("dataset");

        List<TestData_Json> testData = new Gson().fromJson(dataSet, new TypeToken<List<TestData_Json>>() {
        }.getType());
        Object[][] returnValue = new Object[testData.size()][1];
        int index = 0;
        for (Object[] each : returnValue) {
            each[0] = testData.get(index++);
        }
        return returnValue;
}

1 Ответ

0 голосов
/ 10 октября 2018

вам нужно заменить

     jsonData.getAsJsonObject().get("dataset");

на

     jsonData.getJSONArray("dataset");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...