本章节主要讲解“用Jmeter做接口性能测试的应用案例”的内容,下面我们一起来看看具体的实战案例
1、案例说明
这里以天气预报服务为例。
400个国内外主要城市天气预报Web服务访问地址:
Endpoint:
http://ws.webxml.com.cn/WebServices/WeatherWebService.asmx
Disco:
http://ws.webxml.com.cn/WebServices/WeatherWebService.asmx?disco
WSDL:
http://ws.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl
操作: getSupportCity
功能: 查询本天气预报Web Services支持的国内外城市或地区信息
请求方式: HTTP/POST
接口地址:
http://ws.webxml.com.cn/WebServices/WeatherWebService.asmx
输入参数: byProvinceName = 指定的洲或国内的省份,若为ALL或空则表示返回全部城市
返回数据: 一个一维字符串数组String(),结构为:城市名称(城市代码)
2、操作步骤
01、添加线程组;
02、添加HTTP请求取样器并配置;
03、在取样器节点下添加“HTTP Header Manager”并配置;
04、在取样器节点下添加查看结果树;
05、执行看结果。
3、使用SOAP1.1时配置测试
HTTP请求配置:
01、Server Name or IP: ws.webxml.com.cn
02、Method: POST
03、Path: /WebServices/WeatherWebService.asmx
04、Content encoding: utf-8
05、Body Data:
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>
<getSupportCity xmlns="http://WebXml.com.cn/">
<byProvinceName>湖南</byProvinceName>
</getSupportCity>
</soap:Body>
</soap:Envelope>
其中"湖南"为传入的参数值(byProvinceName为参数名)
POST请求传递数据为SOAP消息,格式为XML。需要将SOAP消息放入BodyData中发送给服务器,并且需要告诉服务器对应的Content-Type。
故需要添加一个“HTTP Header Manager”配置元件,在其中添加两个首部“Content-Type”与“SOAPAction”,其中“SOAPAction”用来标识SOAPHTTP请求的目的地,其值是个URI地址。在SOAP1.1中这个首部若其值为空串(""),表示SOAP消息的目的地由HTTP请求的URI标识;无值则表示没有指定这条消息的目的地。
01、Content-Type: text/xml; charset=utf-8
02、SOAPAction: "http://WebXml.com.cn/getSupportCity"
配置如下图所示:
4、使用SOAP1.2时配置测试
HTTP请求配置只需要将Body Data修改,其他配置项保持不变:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<getSupportCity xmlns="http://WebXml.com.cn/">
<byProvinceName>湖南</byProvinceName>
</getSupportCity>
</soap12:Body>
</soap12:Envelope>
需要修改"HTTP Header Manager"配置元件,在SOAP1.2规范中,SOAPAction首部被Content-Type的“action”属性所取代,但其作用和工作原理都没有变化。
Content-Type: application/soap+xml;charset=UTF-8;action="http://WebXml.com.cn/getSupportCity"
配置如下图所示:
本章节关于“用Jmeter做接口性能测试的应用案例”的内容就学习到这里,大家觉得文章有用的话记得每天来这里和小编一起学习涨薪技能哦。