空手道测试框架:除了 SOAP 和 REST 还调用 JMS?

Karate test framework: besides SOAP and REST also JMS calls?

我们正在使用 ReadyAPI 进行 API 测试,使用 Mocking 和 JMeter 进行性能测试,并研究将所有内容迁移到 Karate 框架的可能性。将所有功能都集中在一个开源框架中会很方便。但主要问题是:空手道框架能否处理 JMS 调用?因为我们 80% 的服务测试是通过 JMS(在 ReadyAPI 中有 Hermes)。我知道支持 SOAP 和 REST,但找不到有关 JMS 的任何信息。

是的,你必须写一个Java适配器(一次性工作)。

请查看这 2 个参考资料:

  1. https://twitter.com/getkarate/status/1128170638223364097

A great example that shows off Karate's Java / JS interop - and built-in async support

  • first we call custom code to listen to an ApacheActiveMQ queue
  • an HTTP POST is made
  • we wait for the JMS message
  • and assert that the message is as expected

https://github.com/intuit/karate/tree/master/karate-netty#consumer-provider-example

  1. https://twitter.com/getkarate/status/1417023536082812935

How Java interop and mocks can come together for advanced async / messaging flows such as JMS or apachekafka

link to full example: https://github.com/intuit/karate/tree/develop/karate-demo/src/test/java/mock/async