无法使用JMeter WebSocket Samplers插件连接到websocket服务

huus2vyu  于 2023-08-05  发布在  其他
关注(0)|答案(2)|浏览(285)

尝试使用JMeter WebSocket Samplers plugin连接到websocker服务器,但收到以下响应错误。
响应代码:418响应消息:Got unexpected status 418 with statusLine:HTTP/1.0 418未知代码

nr9pn0ug

nr9pn0ug1#

根据HTTP Status Code 418定义,当您使用Hyper Text Coffee Pot Control Protocol操作茶壶时会发生错误,请仔细检查${BASE_URL_1}变量值,并确保它指向咖啡壶,而不是茶壶。
现在认真地说:我们无法通过查看不完整的低分辨率屏幕截图来诊断问题,因此我只能提供一个通用的建议:
1.仔细检查请求中使用的所有这些变量,如${connectionId}${token}等。使用调试采样器获得预期值
1.使用browser developer tools(或作为sniffer tool)的“网络”选项卡捕获来自浏览器(或其他应用程序)的成功请求
1.使用ViewResultsTree侦听器(或嗅探器工具)从JMeter捕获失败的请求
1.比较请求,识别差异,修改JMeter配置,使其发送与浏览器完全相同的请求(除了必须为correlated的动态值)
1.一旦你发送同样的请求,你应该得到同样的响应,而不是这个有趣的4月1日错误消息

q8l4jmvw

q8l4jmvw2#

我成功地打开了WebSocket连接。最初,我也得到了JMETER坏请求,但在 Postman 这是成功的。一开始我对第一口产生了怀疑。因为POSTMAN没有在请求中发送任何端口,而JMETER没有准备好发送没有端口的请求(必填字段)。然后我在两个地方都添加了端口443。POSTMAN仍然能够成功发送请求。
然后仔细比较了来自两个工具的请求,注意到POSTMAN在“bearer”和令牌字符串之间发送了%20,如下所示:accessToken=bearer%20eyJ0eXAi...,而JMETER中WebSocket采样器只是发送服务器不接受的白色。
然后我在jmeter请求中添加了%20,服务器用机器人手欢迎它并给出绿色信号。

**解决方案:**只需像我一样在Jmeter Samapler中添加%20即可,如下图快照JMETER websocket sampler所示

相关问题