JMeter操作
  • 描述:在小说app上登录状态,然后添加一本书到书架,fiddler抓包得到该请求信息,然后删掉这本小说,将抓包得到的信息复制到jmeter中进行接口测试
  • 添加线程组,http请求

jmeter新建java请求参数化 jmeter添加参数_jmeter新建java请求参数化

  • 填写url,请求方式,请求值
  • 添加一个观察树
  • List item

jmeter新建java请求参数化 jmeter添加参数_引用名_02

  • 然后测试,查看结果树显示结果错误
  • 需要添加一个头文件
  • 因为知道小说id,如果没有头文件,它是不知道这本小说要加到谁的书架上去

jmeter新建java请求参数化 jmeter添加参数_jmeter新建java请求参数化_03

  • 右键去复制header信息

jmeter新建java请求参数化 jmeter添加参数_HTTP_04

  • 添加到jmeter中

jmeter新建java请求参数化 jmeter添加参数_参数化_05

  • 再次测试,请求成功
上述操作fiddler也能完成,为什么要用JMeter?
  • 如果说此时要添加50本书到书架,使用fiddler就比较麻烦费时
  • 要想使用批量添加,操作如下
  • 添加一个计数器
  • jmeter新建java请求参数化 jmeter添加参数_jmeter新建java请求参数化_06

  • (演示)启动写刚刚添加过的小说id,递增1,最大值3433(这里最多添加100本),引用名称写book

jmeter新建java请求参数化 jmeter添加参数_jmeter新建java请求参数化_07

  • 修改HTTP请求,将 3333 改为${book},跟计数器里相匹配

jmeter新建java请求参数化 jmeter添加参数_jmeter_08

  • 跑50个
  • 察看结果树显示

jmeter新建java请求参数化 jmeter添加参数_jmeter新建java请求参数化_09

  • 手机上显示

jmeter新建java请求参数化 jmeter添加参数_参数化_10

  • 上述操作就是参数化

== JMeter两种方式的参数化 ==

  • 可以像上面那样使用计数器,随机包括还有其他的工具进行参数化
  • 还可以写文档,然后读取文档进行参数化(文档的路径不可以有中文)
使用读取文档方式添加书
  • 这里添加5本书

jmeter新建java请求参数化 jmeter添加参数_参数化_11

  • 将刚刚添加的计数器禁用,再添加一个csv data set config

jmeter新建java请求参数化 jmeter添加参数_引用名_12

  • 分别是
    filename文件路径:F:\BaiduNetdiskDownload\book.txt
    file encoding文件编码格式:utf-8
    variable names引用名称:uid,同样要去HTTP请求中修改,因为刚刚填过引用名称是book
    delimiter分割符:,

jmeter新建java请求参数化 jmeter添加参数_参数化_13

  • 线程组循环次数填5次

jmeter新建java请求参数化 jmeter添加参数_jmeter新建java请求参数化_14

  • 开始测试,查看结果树显示

jmeter新建java请求参数化 jmeter添加参数_jmeter_15

== JMeter参数传递 ==

  • 相应数据的结果要放到下一个接口,作为参数传递
  • 比如要把一个订单删掉,首先要有订单号,那么订单先调用创建订单ID的接口,订单ID作为删除订单的接口的参数,执行删除
演示参数传递
  • 比如要取这样一个id
  • 刚刚的HTTP请求

jmeter新建java请求参数化 jmeter添加参数_jmeter_08

  • 添加后置处理器中正则表达式提取器
  • 比如(.*?)就是得到id冒号后面的所有内容
  • 这里演示匹配id中间的4573,匹配数字,就是要匹配几个值就写几
  • 注意:要求HTTP请求中修改引用名称
  • 缺省值:如果没匹配到,默认为
  • 结果已经取到了,这里HTTP请求报红是因为这本小说不存在