很抱歉提前发了很长的帖子。特殊的问题,我想它知道这些将男人与男孩分开的问题的答案。
这里是:我在 RESTassured 上构建了一个 API 测试框架,允许通过 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());
这存在于一个循环中,该循环遍历一个 HashMaps 列表,该列表是从一个部分使用 fillo 部分使用 Apache POI 的 excel 数据表构造的。
现在这是我的问题:
innerObjectList
总是返回 null。
Thexpath 是正确的,我为另一个具有相同功能的 api 运行了代码,它工作正常。事实上,价值"innerObjectListParamPath"
的价值评估为"interestType.interestTypeCriteria"
当我 > 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 数据。
关于我可以调整的任何帮助都会有所帮助。