I am new to Jmeter and am looking for a way to send emails out for every failed assertion.
Test Structure:
- Thread Group:
- Transaction Controller:
- Http Request:
- Http Request:
- Http Request:
- Transaction Controller:
- Thread Group:
- Transaction Controller:
- Http Request:
- Http Request:
- Http Request:
- Transaction Controller:
Each Http request contains a response assertion. I would like to capture and send one email that contains all of the failed assertions within a transaction controller. Is there a way to do this? I tried using adding a SMTP Sampler within a thread group with a child Bean PreProcessor that contains this code:
import org.apache.jmeter.assertions.AssertionResult;
try {
AssertionResult[] results = prev.getAssertionResults();
StringBuilder body = new StringBuilder();
for (AssertionResult result : results) {
body.append(result.getName());
body.append(result.getFailureMessage());
body.append(System.getProperty("line.separator"));
}
vars.put("body", body.toString());
}
catch (Throwable ex) {
log.error("Error in Beanshell", ex);
throw ex;
}
When i do this it will only send an email of the last failed assertion instead of all failed assertions.