问题标签 [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 回答
1835 浏览

json - 使用放心解析 Json 响应

我想解析我的 JSON 响应以验证我获得的响应。

现在,我为此使用 Rest-assured java API,我浏览了有关 toolsQA 的教程以及他们正在使用的

对于Json: -

现在这个响应是一个单一的 JSON 对象。但我的嵌套在 JSON Array 中。

如何解析此类嵌套的 Json 对象和数组?因为 Json 响应可以来自 Array 和 Objects 的所有组合。

他们是一种放心的方法,它提供与键对应的值吗?例子:"key":"value" 我去key,通过那个方法获取value?

谢谢。

0 投票
1 回答
262 浏览

java - Hamcrest 匹配器

我在 RestAssured 响应规范中写了一个这样的 hamcrest

我想建立一个像上面这样的断言,所以我将 json 输出与这个断言进行比较

但我收到如下错误

如何编写 hamcrest 以便覆盖和断言输出?

JSON模式:

在此处输入图像描述

有时房间对象中可能只有一个数组,或者可能有三个但 2 将是常数

0 投票
2 回答
2476 浏览

java - java - 如何使用java中的testng断言字符串列表按排序顺序排列?

我正在使用“http am.com/au/v/so?sort=name”从 Get 调用中按排序顺序获取响应。它按排序顺序获取结果。如何断言列表中的名称按字母顺序排列。

0 投票
2 回答
11708 浏览

java - 如何使用 RestAssured 验证响应中的值列表

有人可以请我了解如何验证响应中的项目列表。假设响应如下所示,

元素 Book 在它下面有四个带有不同数据的列表,现在如果我想按顺序验证作者姓名和价格(例如在循环中),我该如何实现..?

我通常将响应转换为 Json 文档,然后进行验证,但在这种情况下,如果我使用 Json 路径“Store.book.author”,则在响应的四个列表中,它会引用哪个列表..?这就是我的困惑所在。

0 投票
1 回答
342 浏览

rest-assured - 放心的Multipart不会正确传递文件名

这是我的代码让我的 api 上传文件

我的 API 有一个验证,它在发出此请求时检查文件扩展名 .xml。对于上述请求,我的 api 没有收到 .xml 文件扩展名,因此它发出 400 错误

仅供参考,同样的请求使用 Postman 可以正常工作

0 投票
1 回答
1554 浏览

java - 放心的 JsonPath 查询

API 网址:https ://davids-restaurant.herokuapp.com/menu_items.json?category=C

我正在尝试从上面的其余 API 中检索 ID 913 的名称属性

请在下面找到我的代码

错误信息

我试过这个可行,但我不想用索引查询,但我想用 ID 查询

0 投票
0 回答
49 浏览

java - 在 RestAssured JsonPath 的帮助下,我无法从下面的 json 中获取 id 列表

在 RestAssured JsonPath 的帮助下,我无法从下面的 json 中获取 id 列表。

0 投票
1 回答
126 浏览

json - 如何使用 Rest Assured IO JSONPath 读取 JSONArray 中的节点?

以下是 REST 请求的响应,我的要求是验证名称节点是否包含“军事”且数量节点是否等于 500

我在我的项目中使用 REST Assured IO API。你能帮我编写这个要求吗?

0 投票
1 回答
208 浏览

rest - API 自动化:断言不适用于 google place api

//下面提到的代码不适用于google api中的断言

我收到以下错误:java.lang.AssertionError: 1 期望失败。JSON 路径结果[0].geometry.location.lat 不匹配。预期:-33.8710748 实际:空

还可以找到原始响应:

https://jsoneditoronline.org/?id=7f9b24fa65f044fa9c4f48500a6c9bbe

0 投票
1 回答
4838 浏览

rest-assured - 与 RestAssured 保持会话

如何在放心中设置会话属性?在我的应用程序代码中,我们有这样的东西

字符串 userId=request.getSession().getAttribute("userid")

如何在此处将 userId 设置为会话属性(在放心的测试用例中)?

如何为所有请求(多个后续请求)保持相同的会话?

当我发送多个请求时,它会将每个请求视为新请求,并且会话从服务器端失效,我想在后续调用之间保持会话。

我尝试在 cookie 中设置 jsessionid 并在第二个请求中发送它,但是当我在服务器端调试时,它没有加载创建的会话,而是创建不同的会话,因此它不显示属性当我第一次发送请求时,我已经在会话中设置了。

当我尝试使用直接 HttpClient 进行相同操作时,它可以正常工作,而与 RestAssured 相同,它无法正常工作。

使用 HttpClient 的代码是这样的

//第一个请求

从响应中,我提取了 jessionid 并将其设置在第二个请求中

//设置我从响应中提取的jessionid后的第二个请求

上面的代码工作得很好,我得到了预期的响应。一个观察结果是我使用相同的 httpClient 对象来调用这两个请求。

如果我尝试使用 RestAssured 进行相同的操作,但它不起作用。

我尝试使用以下命令对所有请求重用相同的 httpclient,但它没有用