当前位置: 首页 > 知识库问答 >
问题:

用于匹配方法的空手道Java API

呼延晋
2023-03-14

我在Twitter上注意到一个关于空手道Java API的有趣帖子:https://Twitter.com/ptrthomas/status/1344290316212342784

我没有一个推特账户无法回复--希望你不介意我在这里问。

我在一个工作项目中使用过空手道(与并行运行器、特性文件和所有),使用它是一种乐趣--一些工作场所的人对复杂的JSON断言印象深刻。我们正在为该项目实现一定程度的JSON响应字段覆盖,这在其他框架(IMO)中是不可能的。

我现在的任务是改进一个旧的测试项目,该项目使用JUnit+RESTAssured,但字段断言相当有限。我无法将它完全转换为原始空手道(太多的测试,没有足够的时间),但我渴望探索补充上面twitter帖子中提到的空手道Java API的可能性。

例如,对于使用RESTAssured获得响应的现有测试,我最好使用Karate中的'contains'方法(或Match类中的任何方法)来断言该响应,因为它是我遇到的最好的JSON断言工具。

问题:

  1. 即兴--这是您对我的用例推荐的一种实践吗?如果你认为这是一个反模式,请告诉我。我这样问是因为这里的示例(https://github.com/ptrthomas/karate-showcase)没有使用RESTAssured来获取响应,而且我的用例有点不同。
  2. 如果值得探讨--我假设这些东西将在V1.0.0中提供?(我在Developer分支上看到了公共方法,但在V1.0.0 github线程上看不到)。

共有1个答案

阎承
2023-03-14

但是我很想探索用上面twitter帖子中提到的空手道Java API来补充已经存在的东西的可能性。

这非常有趣,你也让我思考这种潜在的有趣的方式,将空手道引入传统项目。我确实经常遇到如何神奇地迁移现有RA测试的问题。

我会推荐的。您可以期待下周的0.9.9.RC3,它应该包含您想要的所有断言。并且API已经简化,所以您不需要调用istrue()等。

 类似资料:
  • 我正在尝试验证具有可选键的复杂JSON 下面是完整的可执行特性文件 我想验证ValidJsonSchema,但无法绕过完整的模式匹配 当我尝试匹配可选字段时,我一直得到错误为 com.intuit.karate.exception.karateException:应在路径$中找到属性为[“MyArray”]的对象,但发现了“net.minidev.json.JsonArray”。根据JSONPro

  • 下面是用于匹配的json示例;匹配包含不起作用。 它的投掷低于错误,

  • 我正在尝试使用空手道进行e2e测试,并已从最低设置开始。我想在用于测试,但karate报告该文件不是js函数,因此测试无法获取配置: 这是我的: 这是我的测试: 这是测试运行程序:

  • 我有以下两个响应,我需要检查(元素的顺序不同)。尝试了不同的事情,但没有任何结果。任何帮助都将不胜感激!

  • 我遇到了一个APIendpoint,得到了如下结果。 我想匹配数组中的元素 我尝试了以下方法: 但观察到以下例外: 预期:“#[]ind”,原因:没有数组或列表,请有人帮忙?

  • 我试图将selenium test之一迁移到空手道,同时这样做我正在使用在留档中定义的script()方法,该方法在空手道中用于评估给定字符串为浏览器内的JavaScript,但我得到了这个 还分享我的功能文件,其中得到失败: 甚至我也试着在脚本中调用下面的语句,但仍然得到相同的错误 我正在使用gatling版本