服务器回应
HTTP/1.1 101
WebSocket Protocol Handshake
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Origin: http://你的网址.com
Sec-WebSocket-Location: ws://你的网址.com/demo
Sec-WebSocket-Protocol: sample
8jKS’y:G*Co,Wxa-
以上算是一个WebSocket的不算详细的解释和定义吧,下面咱们看下怎么使用Jmeter实现WebSocket的接口测试和性能测试:
首先,咱们须要准备Jmeter的WebSocket协议的支持插件:
JMeterWebSocketSampler-1.0.2-SNAPSHOT.jar
这插件依赖一下几个jar包
一、jetty-http-9.1.2.v20140210.jar
二、jetty-io-9.1.2.v20140210.jar
三、jetty-util-9.1.2.v20140210.jar
四、websocket-api-9.1.1.v20140108.jar
五、websocket-client-9.1.1.v20140108.jar
六、websocket-common-9.1.1.v20140108.jar
咱们准备好这些jar包后,讲它们拷贝到Jmeter目录的\lib\ext\目录下。
下载地址:
下载后拷贝至Jmeter目录的\lib\ext\下
其次,启动Jmeter,鼠标右键选择测试计划->添加->Threads(users)->线程组,以下图:
再次,选择鼠标右键选择上步添加的线程组->添加->Sampler->WebSocket Sampler,以下图:
WebSocket建立完成后,测试计划树以下图:
图中,还建立了,查看结果树、生成概要结果合用表格查看结果,这个三个均可以在鼠标右键选择线程组->添加->监听器中找到,主要是为了查看Jmeter执行WebSocket的结果。
最后,咱们须要配置WebSocket的地址、端口、请求和参数了,以下图:
图中:
一、Server Name or IP:WebSocket服务器的地址;
二、Port Number:WebSocket服务访问的端口;
三、Protocol【ws/wss】:根据本身的实际状况填写;
四、Request data:须要发送的请求,根据实际状况来,个人是发送一个Json串,上图中的Request data是作了参数化处理的,能够直接填入串:
{"openid":"o-8pqwY4nb5k_n2NN-ydzj3mLJ8U","servCode":"900001"},执行,在结果树种查看结果。
到此,咱们完成了Jmeter的WebSocket的访问设置,那么,咱们要作接口和性能测试必需要有参数化,不然,不都是一个请求反复执行吗,怎么去参数化呢。
首先,咱们须要创建一个文本文件,讲须要参数化的字段按照逗号进行分割(固然也能够用其余的分隔符),例如:a,b -- 表示两个字段内容,特别注意的是,若是串中自己有双引号的,此处也要加上。
将创建好的文本文件保存,并改成.bat结尾的文件。
其次,鼠标右键选择线程组->添加->配置元件->选择:CSV Data Set Config,添加参数化文件(Jmeter有几种参数化方式,此处以CSV举例),以下图:
在Configure the CSV Data Source组中:
一、Filename:上步中要求创建的.bat文件的全路径;
二、File encoding:文件的编码格式,根据实际状况来;
三、Variable Names(comma-delimited):字段名,多个以逗号分隔
四、Delimiter(use'\t' for tab):定义分隔符,例如逗号的话,直接填写 逗号的符号便可
五、Allow quoted data?:选项选为“true”的时候对全角字符的处理出现乱码
六、Recycle on EOF:是否循环读入,CSV Data Set Config一次读入一行,分割后存入若干变量中交给一个线程,若是线程数超过文本的记录行数,那么能够选择从头再次读入
七、Stop thread on EOF ?:当Recycle on EOF为False时,当读取文件到结尾时,中止进程,当Recycle on EOF为True时,此项无心义
根据实际状况进行设置。将全部的设置完成后,保存。
值得注意的是,若是不确实配置是否正确,能够暂缓参数化,直接在WebSocket页面填入Request data,运行,查看结果,若是成功返回,在开始参数化。
执行Jmeter测试计划,在结果树中能够查看发送和服务器返回的结果,以下图:
上图就是执行结果的查看树,能够在右边的窗口中看到取样器结果、请求、响应数据,其中,请求是客户端向服务器发送的请求,响应数据是服务器接收请求后返回的结果,能够选择不一样的结果查看方式,有json、html、xpath等等。
至此,咱们的jmeter对WebSocket的设置完成,能够根据各自的需求添加其余的任务来完成接口和性能测试了,固然,在这篇文中,我并无写检查点之类的结果判断,你们能够根据本身的需求来进行检查点的设置。