学习笔记-JMeter 关联
在进行接口测试过程中,会遇到某个接口中参数,会用到上一个接口中返回的值。为避免重复修改Jmeter脚本,则可在写脚本时把两个接口建立关联
以下以登陆接口(login)和金币充值接口(gold_add)为例,在这两个接口间建立关联,让金币充值接口(gold_add)可以实时取得登陆接口(login)的"sign" 值,不必再“HTTP Cookie 管理器”中手动输入最新的sign 值。
从“察看结果树”可以看出,登陆接口(login)的Response 结构为Json格式, sign 在 login_info 里面一层。
1 应用"jp@gc - JSON Path Extractor" 来实现
添加 "jp@gc - JSON Path Extractor" (右击 登陆 - 后置处理器 - jp@gc - JSON Path Extractor )
通过“察看结果数”得到Response 的结果后, 将“JSONPath Expression” 输入"$.login_info.sign", 设置变量"sign"
然后 金币充值接口(gold_add)中的 HTTP Cookie 管理器 中将对应值输入为:${sign}
2 应用 正则表达式 来实现
添加 正则表达式提取器 (右击 登陆 - 后置处理器 - 正则表达式提取器 )
“引用名称”设为:sign2,由于登录接口返回结果 "sign": "cd2b43f1688e472e3a516b5a2c6831e8" ,可将正则表达式写为:"sign": "(.*)"
- 引用名称:在HTTP等请求中,引用此数据,需要用到的名称
- 正则表达式:用于将需要的数据提取出来
- 模板:表示使用提取到的第几个值:
$-1$:表示取所有值
$0$:表示随机取值
$1$:表示取第1个
$2$:表示取第二个
以此类推:$n$:表示取第n个
- 匹配数字(0代表随机):0 代表随机取值,1 代表全部取值
- 缺省值:如果正则表达式没有搜找到值,则使用此缺省值
然后 金币充值接口(gold_add)中的 HTTP Cookie 管理器 中将对应值输入为:${sign2} 与正则表达式提取器中的引用名称一致
posted on 2018-03-22 14:53 fengyelan2233 阅读(148) 评论(0) 编辑 收藏 举报