Извините за длинный пост заранее. Особая проблема, и я предполагаю, что она знает ответы на такие вопросы, которые отделяют мужчин от мальчиков.
Здесь говорится: я построил среду тестирования 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.
Любая помощь в том, что я мог твик будет полезен.