【问题标题】:How to fetch multiple SM which were received after single CM request karate websocket如何获取单个 CM 请求空手道 websocket 后收到的多个 SM
【发布时间】:2021-12-23 10:43:30
【问题描述】:
  • def socket = karate.webSocket(demoBaseUrlgame)
    • def body = {"_id":"p194","pid":1960939,"at":'#(gsauthtoken2)',"f1":'#(gametableid)',"f2":"023e86a7- d579-33a4-ac4f-9803beecaef1","f3":"webh5","f4":false,"f5":"","f6":"","f7":"","f8":"Windows ","f9":"10","f10":"Chrome","f11":"96.0.4664.110","f12":false,"f13":"","f14":"","f15 ":假}
    • 打印“正文:”,正文
    • socket.send('#(body)')
    • def loginuser2 = socket.listen(1000)
    • 打印 loginuser2

在这一个中,我发送了一个 CM 请求,但得到了多个 SM,但只有第一个在有或没有处理程序的情况下被获取。 有没有一种方法可以让我们在一厘米内获取多个 sm?

【问题讨论】:

  • 通过。我无法理解这个问题的任何内容。什么是SM和CM!?
  • Cm 表示客户端请求,SM 表示服务器响应(Websocket)

标签: websocket karate


【解决方案1】:

如果你想“收集”多条消息,你需要编写一个带有逻辑的“处理程序”函数,当你有足够的消息时“停止”。

这在示例中有所涉及,请阅读文档:https://github.com/karatelabs/karate#websocket

我在example 中显示了你应该在下面仔细研究的行:

* def handler = function(msg){ return msg.startsWith('hello') }

所以你可以做任何事情,例如等到某个特定的消息,等到某个经过的时间,或者等到某个消息计数。如何编写该逻辑取决于您和您的信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-16
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 2019-06-07
    • 2013-01-09
    相关资源
    最近更新 更多