问题标签 [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 投票
2 回答
1441 浏览

java - 放心 - 将 json 路径与另一个路径进行比较

我有json例如下面

我想知道如何找到一个好的解决方案。

我目前在做什么


我的测试标准是检查关键Students[0].AccountNumber匹配Students[0].Course.AccountNumber


我想这样做,但我无法找到类似的解决方案

以上显然不会起作用,但这就是我想要比较的方式。基本上将密钥与另一个密钥进行比较,它们应该匹配。

这是可行的吗?

0 投票
1 回答
528 浏览

java - 放心错误解析消息:“无效的 UTF-8 中间字节 0x20”

我在特定情况下验证模式 json 时遇到问题,但我在其他测试用例中使用了类似的代码并且我成功了。遵循我没有成功验证架构的示例:

我使用的这段代码:

还有我的 json 模式,为“ https://jsonschema.net/#/ ”生成。我已经将此生成器用于其他测试用例,并且我成功了。

这个 Json 是有效的,我用了几个 Json 验证器来检查。我收到此错误:

0 投票
2 回答
500 浏览

groovy - 在 REST-assured 中使用 groovy 闭包对 JSON 进行嵌套迭代

我的 REST 端点有以下 JSON 响应:

我正在使用带有 groovy gpath 表达式的 rest-assured 进行提取,如下所示:

这正确地给了我[Mistral, Ansible, Camunda]

我想要实现的是找到由任务触发的任务名称InvestigateSuggestions。但我不确定我必须传递给的 taskIdcontains()task-3; 我只知道它的名字,即InvestigateSuggestions。所以我尝试这样做:

这不起作用并抱怨使用了参数“response”但未定义。

如何从 findAll 闭包内部迭代外部集合以找到正确id的传递给contains()

0 投票
0 回答
63 浏览

rest-assured-jsonpath - 通过发送变量搜索 RestASSURED 值

在下面的代码片段中,我试图在我的 responseBody 中通过一个变量找到一个特定的数字,从而保存它的兄弟值。但是,当我尝试这样做时,他回答我为空,如果我删除引号,他回答我:

该参数"n0"已使用但未定义。JsonPath.params(...)使用函数定义参数

0 投票
1 回答
1685 浏览

rest - 将卷曲转换为放心

我有一个 cURL,它需要一个文件校验和和 xml 以及多个标题,以便将图像上传到服务器。我对 RestAssured 不是很熟悉,所以我的问题是;我如何表示 RestAssured 中的 -F cURL 值?

目前我已经取得了唯一的标题。

}

0 投票
2 回答
3110 浏览

json - RestAssured - 比较两个 JSON 对象

使用 RestAssured 我正在尝试比较两个 JSON 对象。

示例:第一个 JSON 来自 excel 我将其作为字符串读取并存储

第二个 JSON 是返回响应对象的响应,该对象实际上是 JSON

我想将这两个作为 JSON 对象进行比较,因为当我将响应转换为 String 并尝试进行比较时,如果 JSON 模式的顺序发生变化,我的断言就会失败。

我尝试了将字符串转换为 JSON 的方法,但找不到任何方法。有人可以帮我解决这个问题

0 投票
1 回答
1121 浏览

testing - 在 Rest Assured json 正文中匹配长值的问题

我有以下回应:

我正在尝试将id值与 JUnit 中的对象匹配,如下所示:

但是当匹配发生时,它会尝试将 a 匹配int到 a long。相反,我得到了这个输出:

如何告诉 Rest Assured 该值确实很长,即使它可能短到足以放入 int 中?我可以将文件id转换为一个int并且它可以工作,但这似乎很草率。

0 投票
3 回答
544 浏览

java - 放心 - 使用 GPath 从多个记录列表中提取单个值

我有一个记录列表:

当我知道 Amount 和 CreatedDate 时,我正在尝试制作一个返回“Id”值的语句。

这甚至可能吗?

0 投票
1 回答
1012 浏览

automated-tests - RestAssured API 调用出了什么问题

我正在使用以下代码在我的本地计算机上托管的 Jira 上创建问题。但我收到错误代码 400。从邮递员进行 API 调用时,我无法找出问题所在,并且一切正常。

我正在使用以下位置提供的 API 文档 - https://developer.atlassian.com/server/jira/platform/jira-rest-api-examples/

在此处输入图像描述 在此处输入图像描述

public static void main(String[] args) 抛出 MalformedURLException, FileNotFoundException {

}

线程“主”java.lang.AssertionError 中的异常:1 期望失败。预期状态代码 <201> 但为 <400>。

0 投票
1 回答
582 浏览

java - 什么是基于 json 路径删除/修改 json 对象的 java 库,或者如何解决 JsonPath 中的以下问题?

我正在尝试实现一个函数,以便能够基于指定的 json 路径删除或修改 json 对象。例如,如果我有以下 json 字符串/对象:

我想删除元素 $.PersonalDetailsDTO.AddressListDTO.PostCode。

我做了很多搜索,我找到的一个库是 JsonPath:http ://static.javadoc.io/com.jayway.jsonpath/json-path/2.2.0/com/jayway/jsonpath/JsonPath.html

所以我写了下面的代码:

控制台日志显示:

看起来 JsonPath 正在完成它的工作并删除 $.PersonalDetailsDTO.AddressListDTO.PostCode。但是,有一些非常明显的事情困扰着我:

查看 .toString() 在前后案例中生成的 json 字符串,JSONObject API 以真正的 json 标准格式打印了一个漂亮的字符串,每个双引号 "" 存在,而 JsonPath .toString 生成一个包含一些元素的客户字符串格式在双引号“”中,而其他不是,我不能像 JSONObject 那样进一步使用它。

我注意到的是,虽然 JsonPath 声称在其许多函数中接受“java.lang.Object”作为参数,但它真正接受的是所谓的“jsonProvider”。不确定它是否会导致奇怪的 .toString() 行为。

无论如何,有谁知道如何从诸如 remove()、put()、read() 等 JsonPath API 中获得一个格式良好的 json 字符串?或者将返回值转换为 JSONObject 之类的东西?

如果您知道任何其他可以通过 json 路径删除/修改元素的 Java 库,请随时推荐。谢谢!