1. Building a WebService Test Plan参考
http://jmeter.apache.org/usermanual/build-ws-test-plan.html
1. 建立WebServiceTest Plan
参考http://jmeter.apache.org/usermanual/build-ws-test-plan.html
1) 添加ThreadGroup
右键单击Test Plan选择Add --> ThreadGroup,配置如图:
Number of Threads、Ramp-UpPeriod、Loop Count可随测试不同随时修改。
三种参数解释如下:
Number of Threads为发起线程总数。
Ramp-Up Period 指定了JMeter开启Number ofThreads个线程所需的时间。例如,如果待发起30个线程(即模拟用户),Ram-Up Period为15秒,则每秒增加2个线程(30个用户/15秒)。如果设置为0,则JMeter会自动启动所有模拟用户。
Loop Count为循环次数。
2. 添加 WebService Requests
右键单击“WebService线程组”,Add --> Sampler --> WebService(SOAP)。如图:
注:灰色“线程组”为其它测试使用过的线程组,此处这设置为Disabled线程组,在本次测试中不使用。
配置如图:
将发布好的Service的 WSDL URL粘贴到WSDL URL中点击Load WSDL之后,WebMthods自动弹出,
只需自己选择Method然后单击Configure即可完成绝大部分自动配置
但是里面会涉及Soap/XML-RPC Data的编写,我编写的如下:
- <?xml version="1.0" encoding="utf-8"?>
- <soap:Envelope
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
- <soap:Body>
- <ns1:simpleMethod
- xmlns:ns1="http://server.deltaj.com">
- <name xsi:type="xsd:string">Yerasel</name>
- </ns1:simpleMethod>
- </soap:Body>
- </soap:Envelope>
这个XML中绝大部分都是固定的。其余解释如下:
simpleMethod是WebService发布的方法;
http://server.deltaj.com是simpleMethod所在类(SimpleServer)的域名,即SimpleServer所在包的包名为com.deltaj.server;
name是simpleMethod的参数名,参数类型是string;
Yerasel是输入的实参。
SimpleService服务端源程序如下:
- // SimpleService.java
- package com.deltaj.server;
- public class SimpleServer {
- /**
- * 简单的测试方法
- *
- */
- public String simpleMethod(String name) {
- return name + "Say this is a Simple method ^-^";
- }
- }
注意:
<arg0 xsi:type="xsd:string">Yerasel</arg0>也可以,
在发布成wsdl时候, 方法的参数名称被自动的映射成arg0, arg1, 解决方法如下:
- Java代码
- public User create(
- @WebParam(name = "user")
- User user);
因此SimpleService服务端源程序改写如下:
- // SimpleService.java
- package com.deltaj.server;
- public class SimpleServer {
- /**
- * 简单的测试方法
- *
- */
- public String simpleMethod(@WebParam(name = "personname")String personname) {
- return personname + "Say this is a Simple method ^-^";
- }
- }
Soap/XML-RPC Data 如下:
- <?xml version="1.0" encoding="utf-8"?>
- <soap:Envelope
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
- <soap:Body>
- <ns1:simpleMethod
- xmlns:ns1="http://server.deltaj.com">
- <personname xsi:type="xsd:string">Yerasel </personname>
- </ns1:simpleMethod>
- </soap:Body>
- </soap:Envelope>
结果图:
相关推荐
1. 需求分析: 现在的游戏服务器为支持多端,很多通讯协议都使用了wssocket来进行通讯,当项目进行到后端的时候,都需要开发一个模拟客户端的工具来进行压力测试,测试服务器的cpu计算能力,内存承载能力等等吧。...
在IT行业中,压力测试是确保应用程序稳定性和性能的关键步骤,特别是在Web服务(WS)场景下。JMeter是一款广泛使用的开源工具,专为性能测试而设计,适用于多种协议,包括HTTP、SOAP、RESTful等Web服务。这篇博客...
输入服务器的WebSocket URL(例如ws://example.com/ws)并配置其他必要的参数,如超时设置。 3. **创建WebSocket Send及Receive Samplers**:一旦连接建立,你可以使用WebSocket Send Text或Binary Sampler发送消息...
- **WebSocket 地址**:`WS_URL` 变量用于存储 WebSocket 服务器地址。 - **进程数量**:`processes` 变量定义了进程池的大小。 - **线程数量**:`thread_num` 变量定义了线程池的大小。 2. **事件处理函数**: ...
如果架设ws服务器,设置方法总结(阿里云服务器举例,作为服务器有3个地址,127.0.0.1,内网地址,公网地址三个) 1、ws客户端必须写公网地址 2、ws服务端和Socket服务端必须写成服务器的内网地址(不是127.0.0.1,...
7. **多协议支持**:除了HTTP,JMeter还支持多种协议,如FTP、SMTP、JDBC、SOAP/WS-Security、JMS等,使得它在不同领域的测试场景中都能发挥效用。 8. **非图形界面**:除了图形化的用户界面,JMeter还提供命令行...
1. 设置WebSocket连接:创建WebSocket Sampler后,需要配置连接参数,如服务器地址、端口号、协议类型(ws或wss)等。 2. 发送和接收消息:可以预定义消息内容,并设置发送消息的频率和数量,同时,JMeter会记录接收...
这包括对比使用Soap/HTTP协议加上XML和WS-Security的安全设置与不使用这些设置的情况,以及使用UA二进制(Binary)传输和安全设置的情况。此外,测试还包括了在启用和禁用全面安全模式下的性能差异,以及不同数据...
WebSocketClient client = new WebSocketClient(new URI("ws://your-websocket-server.com:8080")) { @Override public void onOpen(Session session) { Log.d("WebSocket", "Connection opened"); // 开始发送...
新版完整Jmeter的WebSocket压测插件,支持Jmeter4.0、Jmeter5.0等版本。 支持ws和wss的websocket协议,下载完成后将jar包文件直接放在jmeter的\lib\ext目录下,重启jmeter后,可在添加-取样器中看到这些插件,用来...