jmeter--使用jsonpath来实现变量参数 以及自动化测试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter--使用jsonpath来实现变量参数 以及自动化测试相关的知识,希望对你有一定的参考价值。
参考技术A 首先调用登录接口查看结果 有 token值 使用jmeter的json提取器 这里需要读者掌握 jsonpath的基本语法 学习链接是 https://www.cnblogs.com/rrl92/p/7879004.html
然后在 http信息头管理器中添加token值
发起请求
然后查看jsonpath断言的结果 没有报错
查看断言的结果 并没有报错说明该接口没有问题
JMeter之参数关联
关联是什么?
通俗来讲,就是请求之间通过传递参数建立联系。一般,我们需要将一个请求的响应参数,作为另一个请求的入参。比如登录后的操作,第一步实现登录请求,然后将请求返回的token提取出来保存到一个变量中,后续请求作为入参使用
jmeter通过正则表达式提取器来实现这一场景
实现案例
有如下两个接口,通过正则表达式提取器,将第一个接口的城市代码,保存到一个变量中,第二个请求获取变量值作参数传入。
获取城市代码接口:http://toy1.weather.com.cn/search?cityname=nanjing
根据城市代码获取天气接口:http://www.weather.com.cn/data/cityinfo/101190101.html
数据准备:
操作步骤
1、建立http请求,获取南京的城市代码,添加察看结果树。运行,获取城市编码
2、添加正则表达式提取器,填写提取器相关参数。(正则表达式: "ref":"(.*?)~ )
3、添加获取城市天气请求,添加察看结果树,使用${citycode}替换101190101。
使用${xx}引用上述正则提取的参数。
4、响应结果如下
提取器参数解释
引用名称:提取的参数名称,自定义,后续请求引用时使用。
正则表达式:获取响应结果的正则公式,常用(.+?)和(.*?),两者结果一致。
具体字符含义如下:
模板:-1全部,0 随机,对应上述正则表达式,若只有一个正则一般就填写$1$。
匹配数字:匹配结果作为一个数组,匹配数字即可看做是数组的第几个元素。-1表示全部,0随机,其他整数表示对应第几个值。
缺省值:匹配失败时取的默认值。
小技巧
可以在线程组中添加调试取样器,通过取样器获取的请求返回值可以查看所有正则参数的取值。
以上是关于jmeter--使用jsonpath来实现变量参数 以及自动化测试的主要内容,如果未能解决你的问题,请参考以下文章