如何在 jmeter 的第二个线程中使用变量



我创建了一个脚本,涉及以下场景:

  1. 线程 1 设置 - 登录到应用程序
  2. 线程 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 种方法:

  1. 使用第一个线程组中的 __setProperty(( 函数设置值,使用第二个线程组中的 __P(( 函数读取值。(请记住,属性是全局的,因此如果您有 1>虚拟用户,您还需要添加 __threadNum(( 函数(
  2. 转到线程间通信插件

最新更新