0

很抱歉提前发了很长的帖子。特殊的问题,我想它知道这些将男人与男孩分开的问题的答案。

这里是:我在 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 数据。

关于我可以调整的任何帮助都会有所帮助。

4

0 回答 0