使用intuit/空手道的API测试之一,
预期的JSON是:{name:hello,config:[{username:abc,password:xyz},{username:qwe,password:tyu}]}
API响应有两种可能。
第一个可能的实际JSON:{name: Hello, config:[{username: qwe,密码: tyu},{username: abc,密码: xyz}]}
第二种可能的实际JSON:{name:hello,config:[{username:abc,password:xyz},{username:qwe,password:tyu}]}
同样,阵列元素的序列在实际响应中是不同的,因此遵循响应验证的方法随机抛出错误。
有时错误被抛出为:错误:{Actual:response.config[0].abc,应为:response.config[0].qwe}
有时会抛出错误:错误:{实际:response.config[0]. qwe,预期:response.config[0]. abc}
你能提供JSON验证的精确空手道方法吗?在这种方法中,整个JSON以及忽略JSON中包含数组的元素序列?
以下是解决方案:
* def response1 = {name: 'hello', config:[{username: 'qwe', password: 'tyu'},{username: 'abc', password: 'xyz'}]}
* def response2 = {name: 'hello', config:[{username: 'abc', password: 'xyz'},{username: 'qwe', password: 'tyu'}]}
* def config = [{username: 'qwe', password: 'tyu'},{username: 'abc', password: 'xyz'}]
* match response1 == { name: 'hello', config: '#(config)' }
* match response2 == { name: 'hello', config: '#(^^config)' }
URL 1-- 如何比较响应1和响应2? 响应2将有额外的属性,因此不能直接使用匹配命令 响应1{名称:你好,国家: ABCD}响应2{名称:你好,国家: ABCD,国家: xyz} 只想比较名称和国家属性,而不想硬编码比较,如匹配响应1。name==response2。名称 将来可能会添加额外的属性,并且不希望频繁修改脚本 或 是否有方法从空手道传递对JavaScript函数的响应并执行比较 比
问题内容: 是否有任何方法可以接收2个JSON对象并将其进行比较以查看是否有任何数据已更改? 编辑 在审查评论之后,需要进行一些澄清。 JSON对象定义为 “一组无序的名称/值对。一个对象以{(左括号)开始,以}(右括号)结束。每个名称后面都带有:(冒号),名称/值对之间以,(逗号)分隔。 ”。- json.org 我的目标是能够简单地比较2个JSON对象文字。 我不是javascript专家,所
是否可以在没有外部foreach的情况下迭代B。需要使用Java8在2个arays中标识公共值
我必须比较两个JSON数组,一个值为[“123.45”],另一个值为[“123.45”]如何迭代和删除空格?第二个数组值在实际值之前有空格。
我使用Nodejs,有一个对象包含一个object数组(API请求的结果)和一个简单的值数组。 它们看起来是这样的: 如何将包含对象数组的对象与简单数组进行比较? 我要找的是,从简单数组中获取ID,并将它们与另一个“复杂”对象进行比较,以检索属性以及简单数组中的相应ID和另一个对象属性,然后将结果存储在一个对象数组中。 简单来说,我希望有这样的结果: 当从API请求中检索“复杂”对象时,我尝试了以
任务: 有3个endpoint: 第一个返回请求的随机数据到另外两个endpoint。 另外两个endpoint使用不同的DBs操作,但或多或少使用相似的数据。 我需要验证来自一个endpoint的响应是否匹配来自另一个endpoint的响应,两个endpoint发送相同的数据,但顺序不同。 例如。: endpoint“A”: endpoint“B”: endpointA_response.ite