RESTAssured - response.getBody (). GetList (<ListName>) возвращает мне пустую коллекцию - PullRequest
0 голосов
/ 28 апреля 2020

Извините за длинный пост заранее. Особая проблема, и я предполагаю, что она знает ответы на такие вопросы, которые отделяют мужчин от мальчиков.

Здесь говорится: я построил среду тестирования API поверх RESTassured, которая позволяет настройка через лист Excel. Один из шагов - взять фрагменты пути, собрать их вместе и извлечь значение в пути из ответа JSON.

В этом случае у меня есть следующий код (обрезки из-за разочарования: P)

Фрагмент кода:

String listKey = requestItem.getRequestItem().get("ENTITY_TYPE").trim();
String listName = assertionItem.get("LIST_NAME").trim();
String innerObjectListParamPath = listKey+"."+listName;
String listPrimaryKeyName = assertionItem.get("LIST_KEY_NAME").trim();
String expectedListPrimaryKeyValue = assertionItem.get("LIST_ROW_ID").trim();
String resParamKey = assertionItem.get("RES_PARAM_KEY").trim();
List<Object> innerObjectList = response.getBody().jsonPath().getList(innerObjectListParamPath.trim());

Это находится в oop, который перебирает список HashMaps, созданный из таблицы данных Excel, частично используя fillo и частично используя Apache POI.

Теперь вот моя проблема:

innerObjectList всегда возвращает ноль.

Thexpath верен, я запустил код для другого API с той же функцией, и он работает нормально. Фактически значение для "innerObjectListParamPath" значение оценивается как "interestType.interestTypeCriteria"

, когда I> logger.info( response.getBody().jsonPath().getList(interestType.interestTypeCriteria")), иначе, жестко закодировать путь, это работает как чудо.

Я обновил свой POM до последних версий, будьте уверены, что:

    <dependency>
            <groupId>io.rest-assured</groupId>
            <artifactId>rest-assured</artifactId>
            <!-- <version>4.1.2</version> -->
            <version>4.3.0</version>
            <scope>test</scope>
        </dependency>
<dependency>
            <groupId>io.rest-assured</groupId>
            <artifactId>json-schema-validator</artifactId>
            <version>4.3.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.rest-assured/json-path -->
        <dependency>
            <groupId>io.rest-assured</groupId>
            <artifactId>json-path</artifactId>
            <version>4.3.0</version>
        </dependency>


Также я использую fillo и apache poi для чтения данных Excel.

Любая помощь в том, что я мог твик будет полезен.

...