问题标签 [karate]

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

java - 使用 JAVA 使用回调时如何测试 REST 端点?

我想针对使用回调参数的 REST 端点编写一些测试。可能听起来令人困惑,所以这里有一个解释:

  • 第一个调用是/publish带有有效负载的 POST:

    {"callbackURL":"http://localhost:609/test"}

  • 服务器回复 200 和一些 json

  • 服务器执行异步 POST http://localhost:609/test/status(基于提供的回调 URL),带有一些 json 有效负载

我使用 TestNG 和 Rest-assured(非强制性)构建了一个测试。我的问题是如何验证初始回复和在回调 URL 处收到的消息。我首先想到的一种(可能是幼稚的)方法是实现一个 HTTP 服务器,它监听http://localhost:609/test/status,当有东西出现时,它写入一个同步对象,测试从中读取和验证。但是,听起来有点棘手(测试本地服务器将使用内部类等)并且很脆弱。谁能想到更好的方法?

0 投票
1 回答
894 浏览

jax-rs - 是否有一种无需部署即可集成测试 JAX-RS 服务的机制(例如 MockMVC)?

我已经使用 Mock MVC 成功地为 Spring MVC REST 服务构建了无需部署的集成测试框架。我正在努力对 JAX-RS 服务做同样的事情。

REST Assured 看起来很有希望,但它似乎需要部署。测试套件可以启动一个 CXF 服务器,但它可以与一个 servlet 容器连接起来吗?

Mock MVC 提供的独特价值似乎在它的 mock servlet 容器中。是否有任何其他技术提供此功能。

CXF 文档的JAX-RS 测试页面提供了一种将模拟HttpServletRequest注入 CXF 调用程序的模式。这让我想到...

Spring MVC 的 mock servlet 元素(MockHttpServletRequest等)来自spring-test模块,独立于 Mock MVC。我们能否将这些对象注入到 CXF 调用程序中?或者这将是一个兔子洞?

有没有人想出解决这个问题的方法?


.

0 投票
1 回答
780 浏览

rest - 发送嵌套 JSON 作为请求以使用空手道框架验证 POST REST API 方法时出现问题

请注意,我正在尝试发送以下请求并使用 url 验证 POST 方法的响应

http://uat-ws.*.uk.***.ws/index.php/*/****/validatevoucher

如下所示:我在这里使用空手道框架来自动化 REST API

0 投票
1 回答
2741 浏览

testing - 空手道 vs 史波克

我最近发现了用于测试 Web 服务的空手道框架。但也有Spock框架提供类似的(在我看来)功能。框架之间有什么区别?我想建议我们的测试人员看看它。

0 投票
1 回答
2885 浏览

cucumber - 空手道 API 测试 - 转义“?” 在功能文件的 url 中

我正在使用 Karate API 框架中的path关键字来连接字符串以形成一个 url。但是,我无法通过“?”。这是我正在做的事情:

当我运行测试时,我看到“?” 作为 %3F 传递。我尝试使用 \ 来逃避它,并尝试了其他一些答案,但未能成功。我需要使用 url 编码吗?任何指示或帮助将不胜感激。谢谢

0 投票
1 回答
102 浏览

api - 尽管我在 karate-cucumber 中调用场景大纲中的函数,但 Java 程序本身正在后台运行

我需要在两个 http 调用之间提供延迟,所以我创建了一个 java 程序并在场景大纲中的两个 http 调用之间调用了脚本,但是 java 程序正在后台执行。可以在这方面有所帮助。

0 投票
1 回答
3960 浏览

java - 通过不同场景传递定义的变量不起作用

尝试使用 PATCH 方法将 POST 场景的响应的引用传递给另一个场景并更改其中一个属性并出现错误。调试源代码时,我发现当为一个场景调用 Scripts.assign 时,变量范围不会传递给另一个场景。

  • 空手道版本:0.5.0
  • Java版本:1.8

测试的全部功能:

0 投票
1 回答
807 浏览

karate - 我正在尝试设置标头 Content-Type = 'application/json; charset=UTF-8',但出现错误

我正在尝试设置标头Content-Type = 'application/json; charset=UTF-8',但出现以下错误:

java.lang.IllegalArgumentException:MIME 类型可能不包含保留字符

0 投票
1 回答
1995 浏览

junit - 将空手道与 Junit 一起使用时出错

我已按照 [此链接][1] 中的步骤进行操作。

以下错误已修复。但我现在面临一个新错误。我试图解决它,但找不到合适的解决方案。请帮忙。

0 投票
1 回答
964 浏览

karate - 702 毫秒后调用失败

当我运行我的第一个脚本时,我看到了下面的错误。

com.intuit.karate.exception.KarateException:http 调用在 702 毫秒后失败,网址为:https://qa.myorg.intVersion

这是我的功能文件。

这是我的Java文件:

我在调试模式下手动等待了很长时间。尽管如此,我还是看到了下面的错误,并且没有将 HTML 报告加载到目标文件夹中。(我在目标文件夹下只看到 Karate.log。)

11:36:23.751 [main] 错误 com.intuit.karate - javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到有效请求目标的认证路径,http 调用在 271489 毫秒后失败 URL:https ://qa.myorg.int/Version

我该如何解决?