加特林脚本编译错误,提示值“ check”不是成员

时间:2019-01-14 13:55:02

标签: gatling scala-gatling

我在下面的加特林用户脚本中有一个方法。 该脚本是在Gatling 2.3中编写的。

def registerAddress: ChainBuilder = {
    exec(ws("WS Register Address").wsName(id)
      .sendText(prefetchAddress)
      .check(wsAwait.within(30).until(1).regex("success").exists))
      .exec(ping)
}

我将其转换为gatling 3.0,当我尝试运行它时,出现以下错误。

value check is not a member of io.gatling.http.action.ws.WsSendTextFrameBuilder

我到处搜索,但是找不到与WsSendTextFrameBuilder类相关的文档来相应地更改方法调用。

有人知道与此类相关的文档或解决此问题的方法吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

浏览完Gatling 2.3和3.0的文档后,我发现了上述情况的新要求。

显然,check类中不再提供WsSendTextFrameBuilder方法。 与此相反,应使用await方法。

所以代码看起来类似于下面的内容。

val checkReply = ws.checkTextMessage("request").check(regex("request-complete"))
def registerAddress: ChainBuilder = {
    exec(ws("WS Register Address").wsName(id)
      .sendText(prefetchAddress)
      .await(30 seconds)(checkReply))
      .exec(ping)
}