jmeter对websocket的压测(三)——websocket脚本的编写

3 websocket的脚本编写

写这篇文章也是按照网上的例子走下来的,以我们公司的一个项目即时通讯的签入为例,我的这次脚本编写过程如下:

(1)打开浏览器调试工具-->登录页面-->签入即时通讯-->就绪,查看network可以看到关于websocket的连接信息:

jmeter对websocket的压测(三)——websocket脚本的编写_第1张图片

(2)我们需要把这几个链接用jmeter实现了,就可以模拟浏览器和服务器的通信了。按照前三个请求,点击请求可以看出第二个请求比第一个请求多带一个参数叫sid,他的值是第一个请求所相应的。下面用Jmeter模拟第一个请求:

步骤一:测试计划-->添加-->Threads(Users)-->线程组

jmeter对websocket的压测(三)——websocket脚本的编写_第2张图片

步骤二:线程组-->添加-->Sampler-->HTTP请求

jmeter对websocket的压测(三)——websocket脚本的编写_第3张图片

根据请求的header填写IP、端口号、路径。

jmeter对websocket的压测(三)——websocket脚本的编写_第4张图片

步骤三:由于后来的请求中用到第一个请求回来的sid,所以要在第一个请求后面添加“后置处理器-->正则表达式提取器”:

jmeter对websocket的压测(三)——websocket脚本的编写_第5张图片

步骤四:添加http请求,模拟第二个请求,这里的路径中的sid就可以用参数的形式填写:

jmeter对websocket的压测(三)——websocket脚本的编写_第6张图片

步骤五:点击第三个请求,可以发现,请求的URL变成ws,这时我们就需要新建一个Websocket sampler来模拟socket链接,并发送2probe给服务器:

jmeter对websocket的压测(三)——websocket脚本的编写_第7张图片

线程组-->添加-->Sampler-->WebSocket Sampler

jmeter对websocket的压测(三)——websocket脚本的编写_第8张图片

步骤六:Frames里绿色部分是请求,白色部分是服务器的响应,继续模拟socket.io的后续链接,注意,最后要使用循环控制器间隔发送2给服务器保持连接,如下:

jmeter对websocket的压测(三)——websocket脚本的编写_第9张图片

你可能感兴趣的:(jmeter对websocket的压测(三)——websocket脚本的编写)