如何在jmeter中把响应中的数据提取出来并引用

2357 篇文章 33 订阅
1785 篇文章 17 订阅

在这里插入图片描述
jmeter做接口测试过程中,经常遇到请求需要用到token的时候,我们可以把返回token的接口用后置处理器提取出来,但是在这种情况下,只能适用于当前的线程组,其他线程组无法引用到提取的token变量值,所以必须要生成全局变量让测试计划下的所有线程组都可以引用变量。

同一个线程组下提取token并引用

1、执行获取token接口(登录接口),在查看结果树这里,使用$符号提取token值

. 根节点, .根节点, .根节点,.data.token 表示提取根节点下的data节点下的token节点的值

在这里插入图片描述

2、使用json提取器,提取登录接口响应结果中的access_token,保存在变量token中

变量路径就是把在结果树提取的路径写上

在这里插入图片描述

3、可以使用调试取样器查看提取的token值是否正确

在这里插入图片描述

4、下一个接口(列表查询接口)中,需要使用上个登录接口返回的token值,使用${token}引用

在这里插入图片描述

不同线程组下提取token并引用

1、使用json提取器提取登录接口响应结果中的access_token,保存在变量token中,操作与上文提到的一样。

2、使用函数助手对话框的setProperty函数,有两个输入框要填写(属性名称和Value of property),属性名称填写一个全局变量名,Value of property填写json提取器提取的access_token(json提取器提取到的access_token赋值给了变量token,此处引用变量${token}得到)

在这里插入图片描述

3、在json提取器下添加一个后置处理器BeanShell PostProcessor;

在这里插入图片描述

4、把生成的setProperty函数(KaTeX parse error: Expected group after '_' at position 2: {_̲_setProperty(ne…{token},)})复制到BeanShell PostProcessor中,此时已经把接口需要用到的access_token生成了并保存在全局变量new_token中。

在这里插入图片描述

5、引用该全局变量有两种方式

(1)使用函数助手中的property函数,只填写属性名称对应的输入框:全局变量名new_token

在这里插入图片描述

把生成的结果填写到列表查询接口需要引用的地方

在这里插入图片描述

(2)使用函数助手中的P函数,只填写属性名称对应的输入框:全局变量名new_token

在这里插入图片描述

把生成的结果填写到列表查询接口需要引用的地方

在这里插入图片描述

总结

KaTeX parse error: Expected group after '_' at position 2: {_̲_setProperty()}…{__property()}/${__P()}一起配合使用,setProptety等于把值拿出来,
__property/__P 对值进行使用

__P是__property函数的简化版,举个例子:KaTeX parse error: Expected group after '_' at position 2: {_̲_P(prop1)}会返回属性…{__P(prop1,123)} 会返回属性prop1的值,如果prop1未定义值,则返回123;

__property和__P之间的区别:用法上__property函数仅仅是比__P函数多了一个可以存值的变量,举个__property用法例子:${__property(pro,var,abcd)}会返回pro的值,如果pro未定义值则会返回abcd,同时会将pro的值存到变量var中

注意事项

如果遇到跨线程组调用参数值不是token值而是变量名时且登录接口能够正常使用的情况下,请检查线程组设置

在这里插入图片描述

原因:如果不设置此项,会导致jmeter测试计划下所有添加的线程组同步运行,导致token还没获取出来就已经在调用了,导致获取值时出现错误

最后:如果你平时有很多问题想要解决,你的测试职业规划也需要一点光亮,你也想跟着大家一起分享探讨,我给你
推荐一个「软件测试学习交流群:746506216」 你缺的知识这里有,你少的技能这里有,你要的大牛也在这里……

资源分享【这份资料必须领取~

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

在这里插入图片描述

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值