Reputation: 253
I've got a Jmeter test up and running on an API I'm building.
The API returns this if it gets overloaded:
{"status":{"type":"failure","cause":"internal","http":500}}
What I'd like to do is have JMeter also PAUSE if it gets that result.
I already have set up a Response Assertion that captures these errors. It seems like this should be a simple thing to set up, but I'm not seeing it. I see that I can add an If Controller, but that only works with Javascript vars.
Do I need to add a Regular Expression Extractor, grab that 'failure' as 'type' variable, and then add that to the If Controller?
Seems a little over-complicated?
Am I missing something?
Upvotes: 0
Views: 1097
Reputation: 12873
Try to use BeanShell Timer to handle this situation.
It
Here you can find good article with example how to use.
And here - how to access beanshell variables and handle response code.
Your condition will be something like this one:
if (prev.getResponseCode().equals("500") == true) {
. . .
}
PLEASE NOTE: script used in BeanShell Timer should return value is used as the number of milliseconds to wait.
Another question is what the reason to do this.
If you have load/stress-test scenario then these results are something you should get during your tests and analyze then.
If you have kind of "functional" test-scenario so you have to handle this situation in more general way, adding any kind of properly configured timer to each sampler - to avoid overload or simulate "real-life" scenario.
Am I missing something?
Upvotes: 2