【发布时间】:2021-09-23 11:19:24
【问题描述】:
对于我们的集成测试,我们有一个场景,我们想要收听由我们使用的环境预定义的一定数量的消息。我发现可以通过打开一个新连接来收听多条消息,但这并不能提供太大的灵活性。
【问题讨论】:
标签: websocket integration-testing karate
对于我们的集成测试,我们有一个场景,我们想要收听由我们使用的环境预定义的一定数量的消息。我发现可以通过打开一个新连接来收听多条消息,但这并不能提供太大的灵活性。
【问题讨论】:
标签: websocket integration-testing karate
您是否阅读过文档,因为据我所知,如果您定义了“处理程序”函数,则可以对多条消息使用相同的连接并选择何时停止:https://github.com/intuit/karate#websocket
另见:https://stackoverflow.com/a/67870765/143475
但是,如果您有非常特定的需求或自定义逻辑,那么最好的办法就是编写一小段 Java“粘合”代码,您将获得所需的所有灵活性。您也许可以重复使用 Karate 的 Java API,例如 com.intuit.karate.http.WebSocketClient - 但这没有记录,并且可能是您可以研究/贡献代码的区域。
这是一个很好的例子:https://twitter.com/KarateDSL/status/1417023536082812935 Java 互操作方法提供的灵活性。
【讨论】:
karate.fromString():github.com/intuit/karate#karate-fromstring - 否则你应该走 Java 路线