3 websocket的脚本编写
写这篇文章也是按照网上的例子走下来的,以我们公司的一个项目即时通讯的签入为例,我的这次脚本编写过程如下:
(1)打开浏览器调试工具-->登录页面-->签入即时通讯-->就绪,查看network可以看到关于websocket的连接信息:
(2)我们需要把这几个链接用jmeter实现了,就可以模拟浏览器和服务器的通信了。按照前三个请求,点击请求可以看出第二个请求比第一个请求多带一个参数叫sid,他的值是第一个请求所相应的。下面用Jmeter模拟第一个请求:
步骤一:测试计划-->添加-->Threads(Users)-->线程组
步骤二:线程组-->添加-->Sampler-->HTTP请求
根据请求的header填写IP、端口号、路径。
步骤三:由于后来的请求中用到第一个请求回来的sid,所以要在第一个请求后面添加“后置处理器-->正则表达式提取器”:
步骤四:添加http请求,模拟第二个请求,这里的路径中的sid就可以用参数的形式填写:
步骤五:点击第三个请求,可以发现,请求的URL变成ws,这时我们就需要新建一个Websocket sampler来模拟socket链接,并发送2probe给服务器:
线程组-->添加-->Sampler-->WebSocket Sampler
步骤六:Frames里绿色部分是请求,白色部分是服务器的响应,继续模拟socket.io的后续链接,注意,最后要使用循环控制器间隔发送2给服务器保持连接,如下: