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
做出决定
场景是: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