一、什么是webservice接口
- webservice是一种使用HTTP协议的平台和编程语言无关的通过XML交换数据的通信技术
二、使用soapUI查看与测试webservice接口
然后就可以看到所有的webservice接口
- 选择一个请求
- 可以看到请求体
- 点击运行
- 可以看到响应和响应头
从请求中可以看出,webservice是基于http协议的,Content-Type为text/xml; charset=utf-8
- 随后再看一个通过支持的省份名查询支持的城市名的接口
soupUI的使用就简单介绍到这
三、在jmeter中测试webservice接口
因为webservice接口是基于http的,只不过有一些特殊的配置,所以我们直接可以通过http取样器进行测试
- 测试webservice接口有2种方式
- 1是通过jmeter给我们提供的模板
- 2是自己手动创建
3.1 通过jmeter提供的模板创建webservice测试计划
- 点开模板
- 选择SOAP webservice测试计划
- 点击创建
- 根据生成的模板调整域名和webservice接口等相关信息
- 查看测试结果,正常
3.2 手动创建webservice测试计划
- 设置线程组,命名为:webService
- 设置HTTP请求默认值
- 协议为
http
- 域名为
www.webxml.com.cn
- 请求路径为
WebServices/WeatherWebService.asmx
- 因为webservice的请求地址是同一个,是通过body中的参数来决定请求的业务逻辑,所以可以直接把路径在这边设置一个默认值
- 协议为
- 设置HTTP请求头
Content-Type text/xml; charset=utf-8
- 添加HTTP取样器 - 查询所有支持的省份
- 需要注意将内容编码设置为
utf-8
- 需要注意将内容编码设置为
- 添加查看结果树
四、进阶,使用后置处理器、Xpath、forEach控制器串联请求
在上一步中我们获取到了所有支持的省份,在进阶环节,需要根据上一步获取的所有省份结果,遍历查询每个省份支持的城市
因为webservice的数据都是XML格式的,所以我们需要使用XPath来提取数据
- 在省份接口下添加后置处理器 - XPath提取器,提取出所有省份的名称
- 添加调试取样器,查看获取的所有省份名是否正确
- 添加逻辑控制器 - ForEach控制器
- 在ForEach控制器下添加HTTP请求取样器,根据省份名称查询支持的城市
- 通过查看结果树查看结果