如果另一个线程组失败,如何调用第一个线程组
How to invoke first thread group if another thread group failed
我是Jmeter新手,想在Jmeter 4.0中实现如下测试计划。
我有 2 个线程组。
- 第一个线程组将使用 Oauth 2.0 和
访问令牌的值设置为一个变量。
- 第二个线程组将使用从第一个线程组生成的访问令牌并处理 HTTP 请求。
令牌过期时间为 2 小时。
我想在 Jmeter 中安排一个 8 小时的测试。如何每 2 小时调用第一个线程组生成令牌并继续线程组 2。
任何帮助将不胜感激!!
- 将 If Controller 放在可能会失败的采样器之后
使用下面的表达式作为条件:
${__groovy(vars.get('JMeterThread.last_sample_ok').equals('false'),)}
其中:
JMeterThread.last_sample_ok
是一个pre-defined variable表示之前的采样器是否成功
- __groovy() function allows execution of arbitrary Groovy 代码,在上面的例子中它检查前一个采样器是否不成功。
将Module Controller作为If Controller的子节点并指向第一个线程组
更多信息:Easily Write a GOTO Statement in JMeter
更新:使用 Test Fragments 如:
- 将测试片段添加到您的测试计划并将逻辑从线程组 1 移到那里
- 将模块控制器添加到线程组 1 并引用测试片段
在线程组 2 的模块控制器中引用相同的测试片段
我有 2 个线程组。
- 第一个线程组将使用 Oauth 2.0 和 访问令牌的值设置为一个变量。
- 第二个线程组将使用从第一个线程组生成的访问令牌并处理 HTTP 请求。
令牌过期时间为 2 小时。
我想在 Jmeter 中安排一个 8 小时的测试。如何每 2 小时调用第一个线程组生成令牌并继续线程组 2。
任何帮助将不胜感激!!
- 将 If Controller 放在可能会失败的采样器之后
使用下面的表达式作为条件:
${__groovy(vars.get('JMeterThread.last_sample_ok').equals('false'),)}
其中:
JMeterThread.last_sample_ok
是一个pre-defined variable表示之前的采样器是否成功- __groovy() function allows execution of arbitrary Groovy 代码,在上面的例子中它检查前一个采样器是否不成功。
将Module Controller作为If Controller的子节点并指向第一个线程组
更多信息:Easily Write a GOTO Statement in JMeter
更新:使用 Test Fragments 如:
- 将测试片段添加到您的测试计划并将逻辑从线程组 1 移到那里
- 将模块控制器添加到线程组 1 并引用测试片段
在线程组 2 的模块控制器中引用相同的测试片段