scala - Gatling.io scala socket.io
问题描述
我在 gatling 上编写测试并尝试将 socket.io 事件发送到服务器。但是在构建项目时会出错。
错误
/home/pbezpal/roschat/testing-roschat/load-testing/Gatling/src/test/scala/ServerLoad.scala:49:17
type mismatch;
found : io.socket.emitter.Emitter
required: io.gatling.commons.validation.Validation[io.gatling.core.session.Session]
socket.on( Socket.EVENT_CONNECT, new Listener {
如何正确书写。谢谢
解决方案
我设法做到了
.exec(session => {
val obj = new JSONObject()
val aknowledge = null
obj.put("login", "${login}")
obj.put("password", "${password}")
obj.put("APILevel", "${level}")
optConnect.forceNew = false
optConnect.timeout = 10000
val socket = IO.socket( socketUrl, optConnect )
val printListener: Emitter.Listener = new Emitter.Listener {
override def call(args: AnyRef*): Unit = {
}
}
socket.on(Socket.EVENT_CONNECT, printListener)
socket.connect()
socket.emit("login",obj)
session
}
)
但是现在 $ {login} 被发送到服务器而不是来自 csv 文件的值。如何解决?谢谢
推荐阅读
- twitter - 位置搜索没有结果
- sockets - FTP主动模式传输的优势是什么?
- field - BIM 360 Field 经典身份验证 - 单点登录
- html - 您可以在打印中包含 CSS 背景过滤器吗?
- flask - Flask-restx:如何解析和恢复 json 可序列化值
- python - 将函数转换为不使用 Numpy(仅限 Pandas)
- vba - 无法提取特定类别的网页
- sql - Spark SQL - 在连接中引用外部查询的子查询
- dynamics-crm-online - 在 Microsoft CRM online 和 Oracle Database On prime 之间同步数据
- azureservicebus - ARM 获取 ASB ConnectionString 到 Key Vault