如何在不使用sockjs的情况下使用加特林和弹簧踏脚创建性能测试?

问题描述

使用加特林测试服务器时出现问题。当服务器不使用sockjs时,我无法订阅和发送任何数据。我的websocket连接和断开连接工作正常(在此测试中)。我尝试编写类似的代码,但未发生订阅和发送数据的情况。

val httpConf = http
.wsBaseUrl("ws://localhost:8080")

val scn = scenario("Websocket for 1 Player")
.feed(csvFeeder)
.exec(ws("Websocket connection").connect("/socket"))
.pause(1)
.exec(ws("Connect via STOMP")
  .sendText("[\"CONNECT\\naccept-version:1.1,1.0\\nheart-beat:10000,10000\\n\\n\\u0000\"]")
  .await(1 seconds)(ws.checkTextMessage("check connected message").check(regex(".*CONNECTED.*")))
)
.pause(3)
.exec(ws("Subscribe0: ADD/PLAYERS")
  .sendText("[\"SUBSCRIBE\\nid:sub-0\\ndestination:/pacman/add/players\\n\\n\\u0000\"]")
)
.exec(ws("Subscribe1: REMOVE/PLAYER")
  .sendText("[\"SUBSCRIBE\\nid:sub-1\\ndestination:/pacman/remove/player\\n\\n\\u0000\"]")
)
.exec(ws("SEND JOIN/GAME")
  .sendText("[\"SEND\\ndestination:/app/join/game\\ncontent-length:19\\n\\n" +
    "{\\\"nickname\\\":\\\"" +
    "${nickname}" +
    "\\\"}" +
    "\\u0000\"]")
)
.pause(3)
.exec(ws("Close WS").close)

setUp(scn.inject(atOnceUsers(1)).protocols(httpConf))

服务器代码:

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfiguration implements WebSocketMessageBrokerConfigurer {

@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {

    registry.addEndpoint("/socket")
            .setHandshakeHandler(new WebsocketCustomHandshakeHandler())
            .setAllowedOrigins("*");
//                .withSockJS()
}

@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
    registry.setApplicationDestinationPrefixes("/app")
            .enableSimpleBroker("/pacman","/queue/");
}
@Override
public boolean configureMessageConverters(List<MessageConverter> messageConverters) {
    messageConverters.add(new ByteArrayMessageConverter());
    return false;
}
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...