JMeter操作
- 描述:在小说app上登录状态,然后添加一本书到书架,fiddler抓包得到该请求信息,然后删掉这本小说,将抓包得到的信息复制到jmeter中进行接口测试
- 添加线程组,http请求
- 填写url,请求方式,请求值
- 添加一个观察树
- List item
- 然后测试,查看结果树显示结果错误
- 需要添加一个头文件
- 因为知道小说id,如果没有头文件,它是不知道这本小说要加到谁的书架上去
- 右键去复制header信息
- 添加到jmeter中
- 再次测试,请求成功
上述操作fiddler也能完成,为什么要用JMeter?
- 如果说此时要添加50本书到书架,使用fiddler就比较麻烦费时
- 要想使用批量添加,操作如下
- 添加一个计数器
- (演示)启动写刚刚添加过的小说id,递增1,最大值3433(这里最多添加100本),引用名称写book
- 修改HTTP请求,将 3333 改为${book},跟计数器里相匹配
- 跑50个
- 察看结果树显示
- 手机上显示
- 上述操作就是参数化
== JMeter两种方式的参数化 ==
- 可以像上面那样使用计数器,随机包括还有其他的工具进行参数化
- 还可以写文档,然后读取文档进行参数化(文档的路径不可以有中文)
使用读取文档方式添加书
- 这里添加5本书
- 将刚刚添加的计数器禁用,再添加一个csv data set config
- 分别是
filename文件路径:F:\BaiduNetdiskDownload\book.txt
file encoding文件编码格式:utf-8
variable names引用名称:uid,同样要去HTTP请求中修改,因为刚刚填过引用名称是book
delimiter分割符:,
- 线程组循环次数填5次
- 开始测试,查看结果树显示
== JMeter参数传递 ==
- 相应数据的结果要放到下一个接口,作为参数传递
- 比如要把一个订单删掉,首先要有订单号,那么订单先调用创建订单ID的接口,订单ID作为删除订单的接口的参数,执行删除
演示参数传递
- 比如要取这样一个id
- 刚刚的HTTP请求
- 添加后置处理器中正则表达式提取器
- 比如(.*?)就是得到id冒号后面的所有内容
- 这里演示匹配id中间的4573,匹配数字,就是要匹配几个值就写几
- 注意:要求HTTP请求中修改引用名称
- 缺省值:如果没匹配到,默认为
- 结果已经取到了,这里HTTP请求报红是因为这本小说不存在