gatling - Gatling 3.3.1/Scala:答案验证块没有获取我需要收到的答案
问题描述
尝试测试基于 socket.io 技术的程序,我尝试制作“exec”块序列,其中包含“sendText”函数和答案验证。
.exec(
ws("write first number")
.sendText("""424["/answer/Session", {"message":"message text"}]""")
.await(30 seconds)( ws.checkTextMessage("server answer")
.check(
regex("""server answer text""")))
)
但是根据我的参数,加特林并没有抓住答案。它还忽略传出和传入消息的代码编号来选择答案。它选择一些似乎匹配的传入消息,然后根据我的参数进行验证并给出错误。
对于单线程,可以通过对每个传入消息进行多次验证来解决问题,这似乎与 gatling 匹配。喜欢
.exec(
ws("write first number")
.sendText("""424["/answer/Session", {"message":"message text"}]""")
.await(30 seconds)( ws.checkTextMessage("server question was answered")
.check(
regex("""answered""")))
.await(30 seconds)( ws.checkTextMessage("answer was displayed")
.check(
regex(""""data":"message text"""")))
.await(30 seconds)( ws.checkTextMessage("receive success status")
.check(
regex(""""success":true""")))
.await(30 seconds)( ws.checkTextMessage("server answer")
.check(
regex("""server answer text""")))
直到我得到必要的服务器答案。
但是当我尝试将线程数至少增加到 50 时,多重检查就成了问题。有没有办法更精确地指定验证消息?
解决方案
您必须定义匹配条件才能对正确的消息应用检查。
推荐阅读
- c - 通过从用户那里获取输入来写入文件只保存“x”的值
- javascript - 为什么我的减速器在 dc.js 中应用的第一个过滤器和后续过滤器之间的行为不同?
- php - 从时间字符串中获取小时和分钟
- c# - 如何将选项卡索引设置为 xaml 树视图项?
- python - 缺少 OpenGL.GL 模型
- python - 有没有办法从数据框中检查尾列?
- html - 应用的 css 适用于 chrome 和 mozilla,应该只适用于 mozilla
- javascript - 如何在Jquery中找到标题包含的e元素内的跨度
- c# - 在这种情况下,.NET Core Web 应用程序中实际运行的是什么代码?
- assembly - 瑞萨 M32R 处理器程序前调用和返回