karate - 我想检查我的第一个 csv 文件中的两列的串联在我的空手道测试中的第二个 csv 文件中是否不存在
问题描述
- def concatField = {'#(responseartikel[].Kurztext_1 + responseartikel[*].Kurztext_2)'}
- 匹配 concatField !包含预期
但我收到一个错误:“net.minidev.json.parser.parseexception 意外字符 (}) 在位置 66。”
是否有另一种方法可以在不编写 java 实用程序的情况下定义此连接字段?
解决方案
您的问题令人困惑,因为您谈论的是“独特”,然后是“不存在”。我现在将重点放在“独特”上。
我会忽略你问题的 CSV 部分。您已经知道如何将 CSV 转换为 JSON,因此我将重点介绍 JSON。
空手道有一个karate.distinct()
API 可以删除重复项。所以这是一个工作示例:
* def list1 = ['abc', 'def', 'abc', 'def', 'ghi']
* def res1 = karate.distinct(list1)
* match res1 == ['abc', 'def', 'ghi']
* def list2 = [1, 2, 1, 2, 3]
* def res2 = karate.distinct(list2)
* match res2 == [1, 2, 3]
现在你可以做一个前后匹配来查看列表是否改变了(或没有改变)。剩下的就看你了。另请注意,您可以将现有 JSON 转换为简单的原语数组,请参阅:https ://github.com/intuit/karate#json-transforms
如果此答案不能回答您的问题,请假设空手道不支持您想要的内容,您应该寻找其他工具。
推荐阅读
- bixby - 在 Bixby 的设备上测试期间,向对话驱动程序添加了额外的“...”
- c# - 如何循环从字符串中删除文本?
- javascript - 回调本地函数作为参数
- python-3.x - 为什么 if 语句只适用于“i”?
- mysql - 如何仅按一个日期对多个时间戳进行分组
- json - 将 numpy 数组添加到 pandas 数据帧
- php - 如何合并两个不同形式的输入
- c - Copy-Program 适用于小文件,对较大的文件产生分段错误
- c# - 将 Html.DisplayNameFor 与 IEnumerable 一起使用
- amazon-web-services - 从负载均衡器到 API 网关的请求?