(十一)Jmeter测试webService接口

一、什么是webservice接口

  • webservice是一种使用HTTP协议平台和编程语言无关通过XML交换数据通信技术

二、使用soapUI查看与测试webservice接口

  • 测试接口: http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

(十一)Jmeter测试webService接口_第1张图片
然后就可以看到所有的webservice接口
(十一)Jmeter测试webService接口_第2张图片

  • 选择一个请求
  • 可以看到请求体
  • 点击运行
  • 可以看到响应和响应头

从请求中可以看出,webservice是基于http协议的,Content-Type为text/xml; charset=utf-8
(十一)Jmeter测试webService接口_第3张图片

  • 随后再看一个通过支持的省份名查询支持的城市名的接口

(十一)Jmeter测试webService接口_第4张图片
soupUI的使用就简单介绍到这

三、在jmeter中测试webservice接口

因为webservice接口是基于http的,只不过有一些特殊的配置,所以我们直接可以通过http取样器进行测试

  • 测试webservice接口有2种方式
    1. 1是通过jmeter给我们提供的模板
    2. 2是自己手动创建
3.1 通过jmeter提供的模板创建webservice测试计划
  1. 点开模板
    (十一)Jmeter测试webService接口_第5张图片
  2. 选择SOAP webservice测试计划
    (十一)Jmeter测试webService接口_第6张图片
  3. 点击创建
    (十一)Jmeter测试webService接口_第7张图片
  4. 根据生成的模板调整域名和webservice接口等相关信息
    (十一)Jmeter测试webService接口_第8张图片
  5. 查看测试结果,正常
    (十一)Jmeter测试webService接口_第9张图片
3.2 手动创建webservice测试计划
  1. 设置线程组,命名为:webService
  2. 设置HTTP请求默认值
    • 协议为http
    • 域名为 www.webxml.com.cn
    • 请求路径为WebServices/WeatherWebService.asmx
      • 因为webservice的请求地址是同一个,是通过body中的参数来决定请求的业务逻辑,所以可以直接把路径在这边设置一个默认值
  3. 设置HTTP请求头
    • Content-Type text/xml; charset=utf-8
  4. 添加HTTP取样器 - 查询所有支持的省份
    • 需要注意将内容编码设置为utf-8
  5. 添加查看结果树

(十一)Jmeter测试webService接口_第10张图片
(十一)Jmeter测试webService接口_第11张图片

四、进阶,使用后置处理器、Xpath、forEach控制器串联请求

在上一步中我们获取到了所有支持的省份,在进阶环节,需要根据上一步获取的所有省份结果,遍历查询每个省份支持的城市
因为webservice的数据都是XML格式的,所以我们需要使用XPath来提取数据

  1. 在省份接口下添加后置处理器 - XPath提取器,提取出所有省份的名称
    (十一)Jmeter测试webService接口_第12张图片
  2. 添加调试取样器,查看获取的所有省份名是否正确
    (十一)Jmeter测试webService接口_第13张图片
  3. 添加逻辑控制器 - ForEach控制器
    (十一)Jmeter测试webService接口_第14张图片
  4. 在ForEach控制器下添加HTTP请求取样器,根据省份名称查询支持的城市
    (十一)Jmeter测试webService接口_第15张图片
  • 通过查看结果树查看结果

(十一)Jmeter测试webService接口_第16张图片

测试脚本保存在: https://github.com/FutaoSmile/jmeter-sample

你可能感兴趣的:(测试,jmeter,jmeter,前端)