问题标签 [jsonassert]

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 回答
943 浏览

java - 忽略 jsonassert 中的特定属性/字段

我需要通过忽略一些字段来比较两个 json 字符串

我目前正在使用来自 org.SkyScreamer 的 JSONAssert 进行比较,但不会忽略任何属性。

json 1:

json 2:

我希望上述情况应该通过。但它失败了

0 投票
1 回答
139 浏览

json - 在针对相同的第一个请求的第二个响应中断言 json 参数值

应用程序与餐饮业务相关,我有以下场景(api调用):

  1. 创建订单- 创建任何食品的订单(设为 X),其库存在后端更新(此值正在测试中,设为 P1)
  2. 获取库存-(此调用将为我获取已订购商品 (X) 库存的更新值,即库存值,P1)
  3. 取消订单- 这将取消我在第一次通话中创建的订单,因此应该回滚 P1。
  4. 获取库存- 我将再次点击此调用以获取值,以验证 P1 的库存值是否已正确更新。

在 API 调用中,(2) 我使用jp@gc Json Extractor提取 P1 值,我对同一个调用 (4) 所做的相同。现在按照我的预期,在这两个提取器中获得的价值应该是相等的,因为现在已经取消了订单。

为了断言这些值,我使用JSON Assertion,要么我使用了错误的断言,要么在这里缺少大量信息。

可能有类似我可以先将值保存在某个变量中,然后断言的东西。

我的测试套件的图像: 在此处输入图像描述

0 投票
1 回答
168 浏览

java - 比较两个 json 文件时忽略特定属性

我已经成功地使用 JSONAssert 来比较两个这样的 json 响应:

我现在需要忽略此处描述的某些属性:

在比较两个 JSON 时忽略特定节点/属性 我的新声明是:

我收到以下错误:

我正在使用一个名为 Katalon 的测试工具,它支持 java/groovy。任何输入将不胜感激。谢谢

0 投票
1 回答
196 浏览

java - JSONAssert - 在指定范围内进行比较

我正在比较来自两个不同服务器的 JSON 响应。它们应该基本匹配,但由于缓存,温度、风速等字段存在一些小的差异。

我目前正在使用自定义来忽略某些总是这样失败的字段:

问题:

  1. 我将如何指定一个范围(温度可以在 10 以内)?
  2. 如何指定该值只匹配某种类型(字符串、整数)?

JSON 样本:

JSON 1

JSON 2

我正在使用一个名为 Katalon 的测试工具,它支持 groovy/java。任何帮助将不胜感激。谢谢!

0 投票
2 回答
724 浏览

performance - JMeter json 路径在响应中断言 json 或数组

我正在使用 Jmeter 进行 api 测试,并对响应正文使用 json 路径断言。问题是响应主体根据成功和失败给出了两条响应路径。

对于失败

为了成功

这里正在添加关于“错误”路径和值的断言,但路径会改变结果。已添加$.response.error,但这仅适用于失败情况

在此处输入图像描述

请帮助我在这两种情况下获得正确的路径和断言。谢谢。

0 投票
1 回答
354 浏览

java - 是否有任何具有比较模式的新 JSONAssert 替代品?

我想知道 JSONAssert 库是否有任何替代方案,它允许以类似的方式断言 JSON 文件。与 JSONCompareMode 具有类似功能的替代方案,如 STRICT 和 NON_EXTENSIBLE 等。 JSONAssert 中的最后一次提交似乎很旧 - > https://github.com/skyscreamer/JSONassert/commits/master看起来该项目不是发展了。

0 投票
1 回答
1277 浏览

java - 使用 JSONAssert 查找 json diff 失败

我希望使用 Jackson 来查找 JSON 差异,但它没有给出详细的错误消息。

所以我尝试使用 JSOnAssert 来查找两个 JSON 字符串之间的差异。

遗憾的是,它似乎没有正确匹配并给出示例中的详细错误消息。如果你用过,能解释一下吗?

实际 JSON:

预期的 JSON:

0 投票
1 回答
544 浏览

java - JSONAssert 忽略特定字段的顺序

JSONAssert 需要比较两个 JSON 字符串:

字符串A

字符串B

两个 JSON 字符串应该相等:

  • items在模式下比较STRICT,即“严格检查。不可扩展,严格的数组排序”。
  • auths在模式下比较NON_EXTENSIBLE,即“不可扩展检查。不可扩展,非严格数组排序”。

换句话说,比较对于 是顺序敏感的,items但对于 是顺序容错的auths

JSONAssert代码是:

忽略顺序比较两个字符串列表的TestUtil代码是:

它会出错,因为它不符合JSONAssert约定,但我还没有找到另一种解决方案。有人帮帮我吗?

0 投票
0 回答
71 浏览

jsonassert - 如果生成的有效负载具有附加数组值,则 JSONAssert.assertequals 比较两个 json 失败

我的 api 有一个位于数组内的响应负载,并且数组的大小可以在测试运行之间改变。数组很大,因此不会在此处发布预期/实际值。

我有断言代码可以比较两个有效负载并忽略我期望不同的值。但是如果响应数组比预期的大(这可能在我的情况下)它会失败。有没有办法在 JSONAssert.assertequals() 方法中忽略数组验证的大小?JSONCompareMode.LENIENT 没有削减它。

我可以忽略有效载荷中的任何键/值对,并且断言仍然通过。但是如果我有一个比预期大的响应数组,那么它就会失败。

java.lang.AssertionError: []: Expected 55 values but got 57

我的断言代码:

0 投票
1 回答
40 浏览

json - Jsonassert 忽略键

有 2 个 Json 字符串要比较。

1

2

我想忽略这些对象的键,只匹配内部字段。这对 JsonAssert 或任何其他库是否可行?我们可以使用自定义忽略这些字段。但没有找到只忽略对象键并验证子值的方法。