jMeter线程序列

ran*_*alo 8 java performance multithreading jmeter

我有一个JMeter测试计划与以下http请求采样器.

  1. 登录
  2. 调用一些需要登录用户的功能
  3. 登出

当我用5个并行线程执行测试计划时,我看到在为某些线程调用sampler 1之前调用了采样器2,然后调试器声明失败.

有没有办法指定要执行的采样器序列?

ant*_*ant 11

这应确保它们按顺序执行:

在此输入图像描述

那么让我们从线程组开始吧.

线程数(用户)为5.

因此,假设您的登录采样器具有逻辑功能.只需添加额外的采样器即可.所以右键单击该示例Add > Post Processors > BSF PostProcessor,在此后处理器大脚本空间内写入${__setProperty(ThreadValue,${__threadNum},)}.

这会将线程号保存到您调用的属性中ThreadValue.确保选择beanshell下拉列表中的语言.

然后在登录采样器后添加if控制器.将其添加到条件字段(${JMeterThread.last_sample_ok}==true) && (${__property(ThreadValue,,)} == ${__threadNum})

这意味着 - >只有在实际登录成功且登录线程与您当前所在的线程匹配时才登录.

就是你只在if控制器里面做你的登录工作.如果您希望确保在控制器绕过它的情况下注销正确的用户位置.

干杯