#scala #websocket #socket.io #gatling
#scala #websocket #socket.io #гатлинг
Вопрос:
Я пишу тест на gatling и пытаюсь отправить сокет.событие ввода-вывода на сервер. Но при сборке проекта возникает ошибка.
Ошибка
/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 {
Как правильно писать. Спасибо
Ответ №1:
Мне удалось это сделать
.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-файла. Как это исправить? Спасибо
Комментарии:
1.
obj.put
метод ничего не знает об EL Гатлинга — вам придется извлекать значение из сеанса вручную, используяsession("login").as[String]