苏州市吴江住房和城乡建设局网站,微信公众账号登录官网,口碑好的秦皇岛网站建设价格,小红书搜索关键词排名jmeter做接口测试过程中#xff0c;经常遇到请求需要用到token的时候#xff0c;我们可以把返回token的接口用后置处理器提取出来#xff0c;但是在这种情况下#xff0c;只能适用于当前的线程组#xff0c;其他线程组无法引用到提取的token变量值#xff0c;所以必须要生… 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函数${__setProperty(new_token,${token},)}复制到BeanShell PostProcessor中此时已经把接口需要用到的access_token生成了并保存在全局变量new_token中。 5、引用该全局变量有两种方式
1使用函数助手中的property函数只填写属性名称对应的输入框全局变量名new_token 把生成的结果填写到列表查询接口需要引用的地方 2使用函数助手中的P函数只填写属性名称对应的输入框全局变量名new_token 把生成的结果填写到列表查询接口需要引用的地方 总结
${__setProperty()}与${__property()}/${__P()}一起配合使用setProptety等于把值拿出来__property/__P 对值进行使用
__P是__property函数的简化版举个例子${__P(prop1)}会返回属性prop1的值${__P(prop1,123)} 会返回属性prop1的值如果prop1未定义值则返回123
__property和__P之间的区别用法上__property函数仅仅是比__P函数多了一个可以存值的变量举个__property用法例子${__property(pro,var,abcd)}会返回pro的值如果pro未定义值则会返回abcd同时会将pro的值存到变量var中
注意事项
如果遇到跨线程组调用参数值不是token值而是变量名时且登录接口能够正常使用的情况下请检查线程组设置 原因如果不设置此项会导致jmeter测试计划下所有添加的线程组同步运行导致token还没获取出来就已经在调用了导致获取值时出现错误 如果文章对你有帮助记得点赞收藏加关注。会不定期分享一些干货哦...... 最后感谢每一个认真阅读我文章的人看着粉丝一路的上涨和关注礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于想做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。希望对大家有所帮助……加入我的学习交流群一起学习交流讨论把