问题标签 [rest-assured-jsonpath]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1553 浏览

groovy - REST 保证仅从响应正文中获取地图值

想象一下我调用了一个 RESTful 服务,它在响应正文中返回它

我只需要获取映射键为“en”的值

所以我希望过滤后的结果是这样的

["Reason1 英文翻译", "Reason2 英文翻译"]

或者

{"Reason1 英文翻译", "Reason2 英文翻译"}

我尝试了下一个代码,但仍未完成

它返回

[{en=Reason1 英文翻译, es=Reason1 西班牙文翻译}, {en=Reason2 英文翻译, es=Reason2 西班牙文翻译}]

那么我怎样才能只获得与'en'相等的映射键条件匹配的映射值?

0 投票
1 回答
1119 浏览

java - 使用路径方法使用放心获取价值

我想s.d.url从下面的 JSON 中提取值。
我正在使用下面的语句,如使用 System.out.println 所示,但我没有得到结果。当字段本身包含“。”时,我该怎么做?

JSON


0 投票
1 回答
55 浏览

java - 在从 Oracle DB 中提取的 Json 主体中插入特定的 Json 键值

假设我有一个存储在 Oracle DB 中的示例 Json 请求正文,我将在 Java 代码中多次使用它(使用 RestAssured 执行 POST 方法)

示例 json 请求。前任:

场景:假设我有 50 个不同的测试用例,我将在其中使用相同的 Json 请求。但是对于所有 50 个 TC,只有“accountId”的值会发生变化。

一旦我与 DB 连接,将此 Json 请求存储在字符串中,我需要在每次执行 POST 方法之前单独更改“accountId”键的值。

注意:我尝试将字符串分成两部分,并每次都添加我所需的 AccountID 值。想知道是否有任何其他更好的方法让它变得简单。

0 投票
1 回答
324 浏览

json - 使用 reassured 在不存在密钥时解析 JSONArray

我正在使用 restassured 来测试我的休息 API,并且我有一个场景,我的休息 API 返回一个 JSONArray 而没有任何键值,如下所示。在浏览多个问题时,我还没有看到类似的 JSONArray 在没有键值的情况下被处理。RestAssured 支持验证这样的 JSON 吗?

[“Test_1 Bundle_01”、“Test_2 Bundle_02”、“Test_3 Bundle_03”]

0 投票
0 回答
608 浏览

java - 预期结果与实际结果不符 REST-assured

我正在测试changePassword()方法。我首先通过输入错误密码进行检查,然后在第二部分正确输入参数。但是,对于错误的密码,它给了我 body() 的错误。如果我log().body()它不会打印出任何东西,但状态代码匹配。如果我做body("errors[0]",equalTo("Wrong password")),它会向我显示此行的错误“预期的响应正文将被验证为JSONHTML或者在响应中XML没有content-type定义。

同样对于正确的参数,它说Expected status code <200> doesn't match actual status code <400>.我不知道​​我可能给出错误的参数,似乎一切正常。谁能解释一下这些代码有什么问题?

谢谢!

更新:我在 Swagger 上检查了这个方法,效果很好。

0 投票
1 回答
50 浏览

rest-assured - $ 不要与 JsonPath 一起使用

我发布了一个带有 RestAssured 的 Json,并且在我需要验证所有字段都以正确的值存储在数据库中之后。我的 Json 是:

所以我有 :

我的第一个验证是:

为了验证字段“id”是否等于 1,它执行得不好,我更改为:

和相同的结果--->失败

拜托,你能给我你对测试所有 Json 的建议吗?仅供参考,我尝试申请:https ://github.com/json-path/JsonPath 。

非常感谢您提前,

此致,

0 投票
0 回答
191 浏览

java - 如何在groovy gpath中的符号(@)处转义

在使用 rest-assured 测试 REST API 时,我有一个非常具体的用例。我想从以下 JSON 响应中检索“@odata.type”的值;

我尝试了一些类似的东西

get(/path).then().body("value.@odata.type",hasItems("expected_velue"));

但最终得到这个错误

我怎样才能逃脱@odata.type,以便将其视为单个属性来检索其值?

提前致谢

0 投票
2 回答
881 浏览

java - 如何使用带有 POST 方法的 Rest Assured 获取 REST API 端点的访问令牌,目前我收到 404 错误?

我正在尝试运行 POST 方法以使用 REST Assured Code 获取访问令牌。但它返回 404 错误。我的代码如下。POSTMAN 配置如下,尝试使用 Rest Assured 进行复制

我还附上了正在工作的 Postman 的屏幕截图,在此处输入图像描述

0 投票
1 回答
4685 浏览

java - RestAssured - JsonPath 在给定过滤条件的情况下从对象数组中过滤匹配对象的属性

我正在使用放心为我的微服务编写集成测试。我有一个这样的 Json 有效负载,它是从它返回的。

给定 questionId 值,我需要找到 sessionquestion 的 id。然后我需要在我的断言中比较它们。给定 questionId 值,我很难从 sessionQuestion 中获取 id。我正在使用 JsonPath 来完成这件事。这是我的 Json 路径表达式。

这会引发错误。

我在这个在线评估器中尝试了相同的 Json 路径表达式,效果很好。我在用json-path-2.9.0.jar

我在这里做错了什么?非常感谢任何帮助。

0 投票
2 回答
583 浏览

java - 如何将 JSON 响应转换为 Java 列表 - 使用 Rest Assured 进行 API 测试

我有一个嵌套的 JSON 响应。JsonResponse 截图

我想从列表中获取第 0 个位置的字典,然后从中获取特定元素。例如,作为响应,{0} 和 {1},我希望得到完整的 {0}。然后从 {0},我只想提取“Id”值。
我不想每次都使用JsonPath.read(JsonResponse String, JSON Path)。所以寻找一些简单更好的选择。

如何将 JSON 响应转换为 Java 列表。以下是回应。