使用Jmeter测试接口

使用Jmeter测试接口

一、接口工具的分类

  1. 接口测试工具:这类工具提供的功能相对比较简单,可以模拟和发送HTTP请求,并显示返回接口数据,如HttpRequester、Postman、Fiddler等。
  2. 接口自动化测试工具:相比接口测试工具,功能更加强大,一般提供用例的批量执行、接口返回结果的断言以及测试报告的生成等,如JMeter、Robot Framework、soapUI等。
  3. 接口性能测试工具:主要用于测试接口的性能测试,验证接口处理并发的能力,如JMeter、LoadRunner、soapUI等工具。

二、使用Jmeter测试接口

1案例

  1. 测试获得城市天气情况的接口:http://wthrcdn.etouch.cn/weather_mini?city=省或直辖市名
  2. 脚本规划
    1、服务器名称或IP:wthrcdn.etouch.cn
    2、端口:80或不填
    3、方法:get
    4、路径:/weather_mini
    5、Parameters:city:省或直辖市名
    6、响应数据
"status":1000,"desc":"OK"
"status":1002,"desc":"invilad-citykey"
...

2环境

Jre+Jmeter

  1. 复杂业务需要录制脚本:badboy
  2. 复杂业务自定义脚本:Eclipse
  3. 测试接口性能
    1、硬件资源监控
    2、可以配置负载机

3编写脚本

在测试计划下添加线程组→添加sampler→添加HTTP请求

  1. 服务器名称或IP:不要填http://
  2. 端口号
  3. 协议
    1、http
    2、https
  4. 方法
    1、get
    2、post
  5. Content encoding
    1、内容的编码方式,默认值为iso8859
    2、一般不在此修改,而是修改文件jmeter\bin\jmeter.properties
    3、支持中文:sampleresult.default.encoding=utf-8
  6. 路径
    1、目标URL路径(不包括服务器地址和端口)
    2、开头的/不能省略
  7. 自动重定向:如果选中该选项,那么发送HTTP请求后得到的响应就是302/301时,JMeter自动重定向到新的页面。
  8. 跟随重定向:沿用之前的sessionid
  9. Use keep Alive:当该选项被选中时,JMeter 和目标服务器之间使用Keep-Alive方式进行HTTP通信,默认选中。
  10. Use multipart/from-data for HTTP POST:当发送HTTP的POST请求时,使用Use multipart/from-data方法发送,默认不选中。
  11. 同请求一起发送参数
    1、在请求中发送URL参数,对于带参数的URL,JMeter提供了一个简单的参数化方法。
    2、用户可以将URL中的所有参数都设置在该表格中,表格的每一行是一个参数值。

在测试计划下→线程组→监听器→察看结果树

4增强脚本

4.1 断言

添加响应断言

4.2 正则表达式提取

  1. 本质是在响应中查找字符串可以解决关联问题。
  2. 后置处理器→正则表达式提取器
    1、获得省或直辖市的名称:ws.webxml.com.cn/WebServices/WeatherWS.asmx/getRegionProvince
    (1)属于B/S形式,使用SOAP协议
    (2数据是xml形式
    2、正则表达式:匹配数字"-1"表示取所有项

4.3 参数化

配置元件→CSV Data Set Config:测试能否成功获得全国各省或直辖市的天气情况

5运行测试

  1. 接口测试:一般设置为1个“线程数”,根据测试数据的个数设定“循环次数”。
  2. 接口性能测试:修改线程数。

你可能感兴趣的:(使用Jmeter测试接口)