JMeter发送get请求并分析返回结果

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

开发人员完成接口开发后,可将该接口进行提测,同时开发人员需要出具接口文档,接口文档的内容主要包括:接口地址、输入参数、输出参数、参数说明、请求方式,下面看一个真实的例子:

以下接口信息包括:接口名称、接口路径、请求参数名称、请求参数是否必填、请求参数示例、请求参数备注、返回数据名称、返回数据类型、返回数据是否必填、返回数据备注

开发人员提供的接口文档可能会多种多样,但是要查看主要内容是否缺失,如果主要内容缺失,需要让开发补齐缺失内容。

二、使用JMeter设计接口测试脚本
1、 配置好JMeter运行环境并启动JMeter

2、 新建线程组

测试计划右键à添加à线程(用户)à线程组

理解线程组:可以理解为一个线程为一个虚拟用户

3、 添加HTTP请求

在线程组右键——添加——取样器——HTTP请求

填写接口请求的内容

服务器名称或IP:指接口需要访问的项目目标地址(由开发提供),填写IP时不需要加“http://”, JMeter在运行这个接口的时候会自动拼接http

例如:wx.hx.com.cn  这个就算是我们的项目目标地址

端口号:如果开发提供的接口限定了固定的端口例如9090,那么这个地方就填写9090,如果没有限定固定的端口,就填写为空;

其中http的请求的端口默认为80,https的端口默认为443;http请求的端口可默认不填写,https请求的端口需要填写443

方法:根据接口协定进行选择,get或者post

路径:接口的具体路径,由接口路径+接口参数+接口参数值 组成

写法: servlet/json?funcNo=20970XX&i_channel_id=khlb-hcinvite

注意:参数与参数之间使用&,进行拼接;路径与参数之间使用?,进行拼接

Get请求的参数直接放到请求路径上面

4、 查看接口返回值

在线程组右键——添加——监听器——察看结果树

点击执行按钮,执行接口请求

请求结果:

请求成功:接口请求标题显示为绿色

请求失败:接口请求标题显示为红色

三、接口返回值分析
分析接口需要返回值

这个接口要求返回的目标值是:channel_id、bill_name、slogan、bill_path

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

ics/618631832)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

<think>嗯,用户正在询问如何使用JMeter发送WebService请求进行压力测试的方法。结合用户提供的多个引用内容,我需要整理出适合当前JMeter版本的解决方案。 用户引用的资料显示JMeter在3.2版本后移除了SOAP/XML-RPC Request取样器(引用[2]),而5.x版本则彻底移除了Custom SOAP Sampler(引用[3])。现在主流做法是通过HTTP Request模拟SOAP请求(引用[3]),这正好符合用户的需求。 从技术角度分析,SOAP协议本质上是XML格式的HTTP请求(引用[4]),因此完全可以用HTTP Request组件实现。关键点在于: - 必须正确设置SOAPAction请求头(引用[1]) - 消息体需严格遵循SOAP Envelope格式(引用[5]) - 需要使用POST方法(引用[4]) 用户可能遇到的主要难点是确定请求头和消息体的具体内容。引用[1]中的天气预报接口http://www.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl是个很好的示例,建议用户可以先用SoapUI测试该接口获取请求模板(引用[1][2])。 对于压力测试部分,需要强调线程组设置和监听器搭配使用。用户可能不了解如何查看压测结果,所以需要说明View Results Tree和Aggregate Report的区别:前者用于调试,后者用于性能分析(引用[3][4])。 考虑到用户是进行性能测试,要特别提醒SOAP接口压测时的注意事项: 1. 避免在压测时开启调试监听器 2. 通过BeanShell脚本解决可能的动态参数问题 3. 合理设置线程数避免阻塞目标服务器 用户可能还会关心如何验证请求正确性,所以准备在相关问题里补充调试技巧和结果验证方法。最后决定用天气预报接口作为示例,因为这个服务是公开可用的,用户能立即实践(引用[1])。 </think>根据最新JMeter版本(5.x)的实现方式,结合SOAP协议特性,以下是完整的操作指南: --- ### **一、JMeter发送WebService请求步骤** #### 1. **添加HTTP请求采样器** - 右键测试计划 → 添加 → 线程组 → 添加 → 采样器 → **HTTP请求** - 关键参数配置: ```yaml 协议: http/https 服务器名称: www.webxml.com.cn (示例) HTTP方法: POST 路径: /WebServices/WeatherWS.asmx ``` [^1][^3] #### 2. **设置SOAP请求头** - 添加HTTP信息头管理器: ```xml Content-Type: text/xml; charset=utf-8 SOAPAction: "http://WebXml.com.cn/getWeather" <!-- 具体方法名见WSDL --> ``` [^4][^5] #### 3. **构造SOAP消息体** - 在HTTP请求的**消息体数据**填入XML: ```xml <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getWeather xmlns="http://WebXml.com.cn/"> <cityCode>深圳</cityCode> <!-- 根据接口文档修改参数 --> </getWeather> </soap:Body> </soap:Envelope> ``` [^5] #### 4. **添加调试组件** - 查看请求树:添加 → 监听器 → **查看结果树** - 验证响应:检查返回的XML数据是否包含`<getWeatherResult>`等预期标签 --- ### **二、压力测试关键配置** ```mermaid graph LR A[线程组] --> B[HTTP请求] B --> C[HTTP信息头管理器] B --> D[响应断言] A --> E[聚合报告] A --> F[TPS监听器] ``` #### 1. **线程组设置** - 线程数:发用户数(如100) - 循环次数:持续请求次数 - 启动时间:控制压力上升速率(如30秒内启动100线程) #### 2. **添加性能监听器** - **聚合报告**:查看平均响应时间、吞吐量 - **响应时间图**:定位性能瓶颈 - **TPS**:监控每秒事务数 #### 3. **断言验证** - 添加XML断言:检查`//getWeatherResult/city`等关键节点是否存在 - 响应代码断言:验证HTTP状态码为200 --- ### **三、常见问题解决** 1. **请求失败404** - 检查WSDL地址是否正确(通过浏览器直接访问`.asmx?wsdl`验证)[^1] 2. **SOAPAction报错** - 从WSDL文件中搜索`<soap:operation soapAction="...">`获取正确值[^4] 3. **参数动态化** - 使用CSV文件存储参数:`${__CSVRead(city.csv,0)}` --- ### **压测优化建议** - 启用**Keep-Alive**降低连接开销 - 使用**HTTP缓存管理器**减少重复数据传输 - 分布式测试:通过`jmeter-server`跨多机施压[^3] > 示例:天气预报接口压测时,若吞吐量低于50TPS,需检查: > 1. 目标服务器带宽是否饱和 > 2. XML解析是否存在性能瓶颈 > 3. 数据库查询是否未走索引 --- **
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值