Jmeter进行webSocket接口测试 (2)

只发送一条消息可能看不出什么区别,将Websocket sampler复制一下,发送两条信息。这样就可以看出第二条消息发送时是直接用的第一条消息打开的连接,服务器的响应被归类到一次会话的响应窗口。

Jmeter进行webSocket接口测试



Jmeter进行webSocket接口测试



Jmeter进行webSocket接口测试





(4)、参照参考文档设置一个测试(添加一个loop controller,设置循环次数为3)

Jmeter进行webSocket接口测试



结果如下:

Jmeter进行webSocket接口测试



循环中的sampler都勾选了streaming,最后一个sampler没有勾选此选项,结果中可以看出:在loop controller中的sampler使用的是一个连接,在loop外面的这个sampler会打开一个新的连接,可以得出一个结论,实际上,当勾选了streaming connection时,不仅会在结束会话后保留连接,而且勾选了的sampler会在有可用连接是直接使用,而没有勾选的sampler即使存在可用连接也会重新打开一个新的连接。因此,如果是要在一个会话中发送多条消息,请勾选这个streaming
connection。

2、如何人为的结束一段对话

这就要用到之前提到过的response pattern和close pattern,先给出三个请求在没有设置response pattern和close pattern的运行结果以便于比较

Jmeter进行webSocket接口测试



然后在第一个sampler中设置response pattern和close pattern如下(由于只建立一次连接,所以只会读取第一个sampler中的pattern设置信息)

Jmeter进行webSocket接口测试



这样在第二个请求的响应返回不符合father这个标识,又符合了close pattern时,就会断开连接了,此时第三个websocket勾选了streaming使用上一个连接,但实际上却连接不上这个远程终端时就会报错了。(response响应在这种情况下不能设置为空,如果先检测到返回的内容符合response pattern,就不会再去判断是否符合close pattern了)

Jmeter进行webSocket接口测试



3、Message Backlog的设置

上面的试验使用的都是默认的3,因此如果试验中的三个socket都是是在一个会话中通信,点击第三个是可以看到最近的三个服务器响应的。当这个选项设置为1时,就只能看到最近的一条响应信息了

Jmeter进行webSocket接口测试

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzxwyz.html