我希望运行3个不同负载顺序API的服务组合。Q1 - 20%,Q2 -10%,Q3 - 70%然而,Q1独立,Q2依赖于Q3中生成的变量。
我有以下设置。我不能有多个线程组,并且需要事务控制器,因为我需要将其上传到Storm Runner。
ThreadGroup - Threads 10, Loop 1
--- Q1ThroughPutController -20%
---Q1TransactionController
--- Q2ThroughPutController - 10%
---Q2TransactionController
--- Q3ThroughPutController - 70%
---Q3TransactionController当前运行如下所示:
Q3 -失败
Q3 -失败
Q3 -失败
Q3 -失败
Q1 -失败
Q3 -失败
Q1通行证
Q3通行证
Q2通行证
Q3通行证
发布于 2020-11-09 18:56:56
根据JMeter Documentation的说法
属性与变量不同。变量是线程的局部变量;属性是所有线程的公共属性,需要使用__P或__property函数进行引用。
您的设置假定:
因此,运行Q3用户无法切换到Q1
您需要修改您的关联逻辑以使用属性而不是变量,属性是全局的,这样所有线程都可以访问它们,您将必须使用合适的JSR223 Test Elements执行一些自定义的Groovy脚本
另一种解决方案是使用Inter-Thread Communication Plugin在不同的线程之间传递变量,并实现一些阻塞逻辑,这样虚拟用户在继续操作之前将“等待”变量值
https://stackoverflow.com/questions/64750024
复制相似问题