加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Jmeter将token运用到全局(跨线程组使用变量)

(2019-07-24 14:50:34)
标签:

jmeter

请注意元器件的执行顺序:

请将提取token的配置原件放在设置全局变量的配置元器件前面(本来是一个超级马虎的人,真是俗称“方脑壳”啊)

1.获取登录后的token

提取可以用json path Extractor插件和后置处理器中的JSON Extractor,只针对响应数据为json格式的接口.

(1)json path Extractor插件获取token(JSON Extractor同)

Jmeter将token运用到全局(跨线程组使用变量)
Jmeter将token运用到全局(跨线程组使用变量)

查看调试器参数(以外即为调用成功):

Jmeter将token运用到全局(跨线程组使用变量)

(2)使用正则表达式提取token

Jmeter将token运用到全局(跨线程组使用变量)

2.配置全局变量:

Http请求-添加-后置处理器-BeanShell PostProcessor(或在线程组下添加BeanShell Sampler)

打开函数助手,找到_setProperty函数,填写要设置的全局变量名称和要将哪个变量设置为全局变量,直接复制函数助手生成的函数字符串到BeanShell PostProccessor中。

也可以直接在BeanShell PostProcessor中输入${__setProperty(newtoken, ${app_token},};

app_token是前面提取token出来的引用名称。

Jmeter将token运用到全局(跨线程组使用变量)

3.调用全局变量:

${__property(newtoken) 或 ${__P(newtoken}

 

HTTP信息头管理器传入token是因为有的接口需要在header中传入token参数。

Jmeter将token运用到全局(跨线程组使用变量)

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

Jmeter将token运用到全局(跨线程组使用变量)

 

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

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有