如何解决如何在不使用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 举报,一经查实,本站将立刻删除。