Jmeter测试webocket协议

Jmeter本身不支持websocket协议的,所以需要安装第三方的插件还有6个依赖包。

首先,我们需要准备Jmeter的WebSocket协议的支持插件:

JMeterWebSocketSampler-1.0.2-SNAPSHOT.jar

这插件依赖一下几个jar包

1、jetty-http-9.1.2.v20140210.jar

2、jetty-io-9.1.2.v20140210.jar

3、jetty-util-9.1.2.v20140210.jar

4、websocket-api-9.1.1.v20140108.jar

5、websocket-client-9.1.1.v20140108.jar

6、websocket-common-9.1.1.v20140108.jar

我们准备好这些jar包后,讲它们拷贝到Jmeter目录的\lib\ext\目录下,重新启动jmeter,就可以看到WebSocket Sampler(如果还是没有,有可能是JDK的版本太低,我用的是1.8)

操作步骤如下

鼠标右键选择测试计划->添加->Threads(users)->线程组,如下图

再次,选择鼠标右键选择上步添加的线程组->添加->Sampler->WebSocket Sampler,如下图

接下来看看websocket的页面

解释一下各项的意思

1、WebServer
(1)Server Name or IP:WebSocket发送的目标服务器的地址或者名称
(2)Port Number:WebSocker服务器监听的端口号。(一般是HTTP 80端口,可以通过WireShark数据包得到)

2、Timeout: 
(1)Connection – 发送一个连接请求后,Jmeter等待连接完成的最长时间,单位是毫秒。
(2)Response - 对响应消息的最大等待时间。

3、WebSocket Request
(1)Implementation – 只支持RFC6455(v13) ,WebSocket协议标准的最新版。
(2)Protocol – 有ws与wss之分,  ws前缀是WebSocket连接的辨别标识,wss前缀是WebSocket安全连接的辨别标识。根据自己的实际情况填写
(3)Streaming Connection – 选择这个TCP session要不要保持,如果勾上标识连接会一直存在,如果没有勾上,那么得到第一次响应后该链接就会被关闭。
(4)Request data:填入将要发送的请求,要跟开发沟通好,这个是什么格式的消息。

4.WebSocket Response
(1)Response Pattern – 采样器将等待含有该标识的消息并继续通信(或者直到timeout,该连接关闭)
(2)Close Connection Pattern – 如果服务器返回的消息含有这样的字符,就结束会话。
(3)Message Backlog – 定义服务器返回消息保留的最大长度。

Jmeter测试实战

使用谷歌浏览器抓取WebSocket包(按下F12,选择NetWork,筛选WS)

测试计划树如下图

其中添加了参数化文件(Jmeter有几种参数化方式,此处以CSV举例)

在Configure the CSV Data Source组中:

1、Filename:上步中要求建立的.bat文件的全路径;

2、File encoding:文件的编码格式,根据实际情况来;

3、Variable Names(comma-delimited):字段名,多个以逗号分隔

4、Delimiter(use‘\t‘ for tab):定义分隔符,例如逗号的话,直接填写 逗号的符号即可

5、Allow quoted data?:选项选为“true”的时候对全角字符的处理出现乱码

6、Recycle on EOF:是否循环读入,CSV Data Set Config一次读入一行,分割后存入若干变量中交给一个线程,如果线程数超过文本的记录行数,那么可以选择从头再次读入

7、Stop thread on EOF ?:当Recycle on EOF为False时,当读取文件到结尾时,停止进程,当Recycle on EOF为True时,此项无意义

根据实际情况进行设置。将所有的设置完成后,保存。

值得注意的是,如果不确实配置是否正确,可以暂缓参数化,直接在WebSocket页面填入Request data,运行,查看结果,如果成功返回,在开始参数化。

执行Jmeter测试计划,在结果树中可以查看发送和服务器返回的结果,如下图:

时间: 2024-08-01 05:37:58

Jmeter测试webocket协议的相关文章

【JMeter4.0学习(三)】之SoapUI创建WebService接口模拟服务端以及JMeter测试SOAP协议性能测试脚本开发

目录: 创建WebService接口模拟服务端 下载SoapUI 新建MathUtil.wsdl文件 创建一个SOAP项目 接口模拟服务端配置以及启动 [阐述]:首先应该遇到了一个共同的问题,JMeter3.2之后就没有WebService(SOAP) Request,后来经过查询网上资料得知其实可以用HTTP请求来操作,结果是一样的. 具体资料大家可以参照原文<Jmeter测试SOAP协议(Jmeter 3.3)>感谢作者:stone9159 [步骤]: 一.创建WebService接口模拟

使用JMeter测试MQTT协议

1.MQTT是一个基于客户端-服务器的消息发布/订阅传输协议.MQTT协议是轻量.简单.开放和易于实现的,这些特点使它适用范围非常广泛,本文简单介绍下怎么使用JMeter对MQTT协议做性能测试2.要对MQTT协议进行测试,需要下载一个mqtt-xmeter-jar-with-dependencies.jar插件,放置在JMeter的lib/ext目录下下载方法见文章末尾 一.添加线程组  添加线程组,Jmeter执行是通过线程组进行驱动的,测试计划必须最少有一个线程组,选中测试计划,点击右键,

jmeter测试SOAP协议接口

jmeter3.2版本之后就没有SOAP/XML-RPC Request插件了,所以没办法直接进行webservice接口的测试. 原理上: Web service一般就是用SOAP协议通过HTTP来调用它,其实他就是一个WSDL文档,客户都可以阅读WSDL文档来用这个Web service. SOAP简单的理解,就是这样的一个开放协议SOAP=RPC+HTTP+XML:采用HTTP作为底层通讯协议:RPC作为一致性的调用途径,XML作为数据传送的格式,允许服务提供者和服务客户经过防火墙在INT

使用JMeter测试基于WebSocket协议的服务

使用JMeter测试基于WebSocket协议的服务 :first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba(0,0,0,.1);border-radius:3px}iframe{border:0}figure{-webkit-margin-before:0;-webkit-margin-after:0;-webkit-margin-start:0;-webkit-margin-end:0}kbd{bord

【转】Jmeter入门:如何建立和使用Jmeter测试环境

一.工具描述 apache jmeter是100%的java桌面应用程序,它被设计用来加载被测试软件功能特性.度量被测试软件的性能.设计jmeter的初衷是测试web应用, 后来又扩充了其它的功能.jmeter可以完成针对静态资源和动态资源(servlets, perl脚本, java对象, 数据查询s, ftp服务等)的性能测试. jmeter可以模拟大量的服务器负载.网络负载.软件对象负载,通过不同的加载类型全面测试软件的性能.并且jmeter提供图形化的性能分析. 二.使用环境 JMete

jmeter测试HTTP请求

HTTP超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.(详情参考看一下百科) HTTP发送请求有GET,POST,PUT, OPTION,HEAD,DELETE,TRACE,CONNECT 8种,目前来说最常见的是GET.POST和PUT请求,其他的比较少见. 1.GET:用于不修改数据仅向服务器获取资源(比如我们常见的访问某个网站首页,进入某个页面啊...基本都是用的GET请求方式) 2.POS

转:JMeter测试WebSocket的经验总结

最近有一个微信聊天系统的项目需要性能测试,既然是测试微信聊天,肯定绕不开websocket接口的测试,首选工具是Jmeter,网上能搜到现成的方法,但是网上提供的jar包往往不是最新的,既然是用最新版本的Jmeter4.0,那么所依赖的插件jar包也应该追求新的.所以提供了以下链接供大家下载(甚至连源码都提供): (1)Jmeter工具 (2)websocket请求模板 JMeterWebSocketSamplers (3)jetty-http (4)jetty-io (5)jetty-util

【转】JMeter学习(十九)JMeter测试MongoDB

JMeter测试MongoDB性能有两种方式,一种是利用JMeter直接进行测试MongoDB,还有一种是写Java代码方式测试MongoDB性能. 第一种方法 1.编写Java代码,内容如下: package com.test.mongodb; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.UUID; import java.util.conc

jmeter测试dubbo接口

本文讲解jmeter测试dubbo接口的实现方式,文章以一个dubbo的接口为例子进行讲解,该dubbo接口实现的功能为: 一:首先我们看服务端代码 代码架构为: 1:新建一个maven工程,pom文件为: 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation=