JMeter:如何在 Beanshell post 处理器中提供条件以记录 successful/failed 注册

JMeter: How to provide condition in Beanshell post processor just to log successful/failed signup

场景是:1000个用户同时注册。

此时,如果"View results in a Tree"中的响应信息为“1”,则注册成功, 但如果响应消息“3”,则请求失败。

我想知道如何在 Beanshell Post 处理器中处理这个问题。

是否有可能有所有注册结果的csv?

当你说响应时,你是什么意思。

你可以这样做:

  • 添加响应断言并使用包含,在代码“1”所在的位置填写正则表达式。在所有其他情况下,您将失败

另一种方法:

  • 使用正则表达式提取器提取响应 "code"
  • 使用 jsr223 断言 + groovy,并测试变量提取值

类似于:

String response = new String(data);

if (response.equals("3")) {
    prev.setSuccessful(false);
}

其中:

  • data - 是 Java bytes 的数组,其中包含父采样器响应
  • prev - 是 SampleResult class 的实例,提供 read/write 对父采样器方法和字段的访问

更多信息 - How to Use BeanShell: JMeter's Favorite Built-in Component


注意:使用 Response Assertion 而不是 Beanshell PostProcessor

会更快更容易

嗯,为什么你需要一个 beanshell?您可以使用正则表达式提取要验证的 "response bits",并通过使用默认 javascript 选项将响应位与预期值进行比较来使用 if 控制器。在下面的示例中,我从之前的响应中提取一个词并使用 if controller

做出决定