我创建了一个脚本,涉及以下场景:
- 线程 1 设置 - 登录到应用程序
- 线程 2 - 点击仪表板页面
我使用正则表达式提取器在安装程序线程 1 中为授权令牌创建了一个变量。现在我想在我的下一个线程 2 中使用此变量。请帮助我如何将此变量作为属性,以及如何在下一个线程中使用它?
你可以试试这种方式:
Thread Group-1 Setup
+Http Request
- Regular Expression Extractor
- JSR223 PostProcessor - ${__setProperty(variableForThread2,${variableFromRegEx})}
Thread Group-2 - Dashboard
+Http Request - Use the above variable as ${__property(variableForThread2)}
您不应该将此类HTTP请求拆分到不同的线程组中,除了令牌之外,您还需要共享很多内容。
行为良好的JMeter测试必须代表使用真实浏览器的真实用户,因此您不仅需要传递令牌,还需要传递:
- 饼干
- 头
- 缓存
JMeter提供了适当的配置元素,如HTTP Cookie管理器,但它们只能在一个线程组中工作。
如果您的兴趣是"学术",请注意可以在线程组之间传递值,至少有 2 种方法:
- 使用第一个线程组中的 __setProperty(( 函数设置值,使用第二个线程组中的 __P(( 函数读取值。(请记住,属性是全局的,因此如果您有 1>虚拟用户,您还需要添加 __threadNum(( 函数(
- 转到线程间通信插件