Jmeter-响应断言触发时暂停?

Jmeter-响应断言触发时暂停?,jmeter,Jmeter,我已经在正在构建的API上启动并运行了Jmeter测试。 如果API过载,则会返回以下内容: {"status":{"type":"failure","cause":"internal","http":500}} 我想做的是让JMeter在得到结果时也暂停 我已经建立了一个响应断言来捕获这些错误。这似乎应该是一个简单的设置,但我没有看到它。我看到我可以添加一个If控制器,但这只适用于Javascript变量 我是否需要添加正则表达式提取器,将“failure”作为“type”变量抓取,然后将其

我已经在正在构建的API上启动并运行了Jmeter测试。
如果API过载,则会返回以下内容:

{"status":{"type":"failure","cause":"internal","http":500}}
我想做的是让JMeter在得到结果时也暂停

我已经建立了一个响应断言来捕获这些错误。这似乎应该是一个简单的设置,但我没有看到它。我看到我可以添加一个If控制器,但这只适用于Javascript变量

我是否需要添加正则表达式提取器,将“failure”作为“type”变量抓取,然后将其添加到If控制器中?
似乎有点太复杂了?
我遗漏了什么吗?

试着用它来处理这种情况

  • 允许编写脚本,以便您可以根据需要对计时器行为进行编程
  • 可以通过ctx变量访问jmeter上下文,所以您可以处理ResponseCode条件
你可以找到好文章,并举例说明如何使用。
和-如何访问beanshell变量和处理响应代码

您的情况与此类似:

if (prev.getResponseCode().equals("500") == true) { 
    . . .
}
请注意:BeanShell Timer中使用的脚本应返回值用作等待的毫秒数。

另一个问题是这样做的原因。
如果您有负载/压力测试场景,那么您应该在测试期间获得这些结果并进行分析。
如果您有一种“功能”测试场景,那么您必须以更一般的方式处理这种情况,向每个采样器添加任何类型的正确配置,以避免过载或模拟“真实”场景。

我遗漏了什么吗?

非常感谢,我会查出来的。我之所以想这样做,是因为我试图模拟我的真实API情况——如果应用程序遇到的结果不是即时的,那么它会有一个内置的“等待”期。所以我希望负载测试更像我们的实际使用情况,而不仅仅是暴力锤击。顺便说一句,我试图给你一个+1,但显然我没有足够的信誉点来做这件事。对不起,真的没问题。这不仅仅是为了名誉。