Jmeter在减速期间执行Logout Action

时间:2015-05-14 16:25:32

标签: performance jmeter load-testing

我尝试运行一个方案,通过一次登录来增加每个线程,通过业务操作循环一小时进行调整,并在注销时减少注销。

理想情况下,线程不应该一次注销,因此我想找到一种方法来为每个线程减少执行注销操作。

我尝试过使用步进和最终线程组,但是为了减速,线程正在停止。

此外,我尝试了以下场景:1)登录,2)运行时控制器按业务操作安排一小时,3)注销。但是,这会导致一旦达到一小时仍在执行业务操作的线程过早中止。

任何帮助,即使在beanshell中实现这一点,也将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可以使用TearDown Threadgroup。一旦你的测试结束,这将永远执行。

答案 1 :(得分:0)

您可以使用设置jmeter属性的线程组,让我们在预处理器或后处理器中调用属性" isRunning",然后该线程将测试操作设置为暂停测试的持续时间。暂停后设置属性" isRunning"为假。

当用户登录另一个线程组(您的测试用例)时,抓住" isRunning"属性并将值存储在线程的jmeter变量中。用户登录后,将您的业务案例放入while循环中,并使用" isRunning"创建jmeter变量。作为条件的财产。

获取" isRunning"的价值在业务案例结束时某处的属性并更新您的jmeter变量。将注销控制器放在while循环之外。当第一个线程组设置" isRunning"为false,其他线程中的while循环将完成执行用例并在看到while条件不再满足时注销。

如果使用任何类型的随机思考计时器和斜坡时间,由于斜坡时间抵消了用例的开始和随机思考时间,线程应该基本上逐步降低。

不确定这是否是解决此问题的最佳方式,但我需要做同样的事情,这被证明是一种可行的解决方法。