Jmeter接口测试进阶

Jmeter接口测试参数化、断言、关联等

Jmeter添加cookie

测试登录后才能访问的接口,需要添加cookie信息。在线程组里添加配置元件—HTTP Cookie 管理器

Jmeter添加header

需要在线程组里面添加配置元件—HTTP信息头管理器

Jmeter接口测试-断言

jmeter断言用来检测响应返回的结果和我们预期的是否一致。若针对整个线程组的话,则在线程组下添加断言-响应断言;若只是针对某个请求的话,则在请求下添加断言-响应断言。
例:响应码200时,断言成功

例:响应文本中包含以下信息,断言成功

Jmeter接口测试-参数化

入参经常变化的话,则可以设置成一个变量,方便统一修改管理;如果入参要求随机或可多种选择,则通过函数生成器或者读取文件形成一个变量。所以参数化有三种方式:用户定义的变量、函数生成器、读取文件。

(1)用户定义的变量

需要添加配置元件-用户定义的变量。

(2)函数生成器

  需要用到函数助手功能,可以调用函数生成一些有规则的数据。常用的几个函数有_uuid、_random、_time。_uuid会生成一个随机唯一的id,比如在避免java请求重发造成未处理数据太多的情况,接口请求可加一个唯一的请求id唯一的响应id进行一一对应;随机数_random,可以在你指定的一个范围里取随机值;取当前时间_time,一些时间类的入参可以使用,如{time(,)} 是生成精确到毫秒的时间戳、{time(/1000,)}是生成精确到秒的时间戳、${__time(yyyy-MM-dd HH:mm:ss,)} 是生成精确到秒的当前时间。

(3)从文件读取

  需要在线程组里面添加配置元件-CSV Data Set Config
  其中Recycle on EOF:设置True后,允许循环取值

Jmeter接口测试-关联

接口请求之间存在参数调用,为了保存这个参数,建立jmeter关联。比如登陆接口和购买商品接口,购买商品接口就需要登陆接口返回的token等登陆信息,jmeter关联就可以保存这个token信息,方便购买商品接口使用。
  jmeter关联可以通过二种方式来完成,获取到返回结果中指定的值。它们分别是正则表达式提取器、 json path extractor。

(1)正则表达式提取器

若想获取的返回值未匹配到,可以把正则表达式两边匹配的数据扩大点。

(2)json path extractor

jmeter通过json path extractor来处理json串,提取json串中的字段值。