Following is the JSR223 Assertion groovy code where we are trying to log only when request or assertion fails or both fails.
import groovy.json.JsonSlurper
String jsonString = SampleResult.getResponseDataAsString();
String StartProcessResponseCode= SampleResult.getResponseCode();
def tokenJSON = new JsonSlurper().parseText(jsonString)
if (!SampleResult.isSuccessful()) {
log.info("Failed Response Data---------"+SampleResult.getResponseDataAsString())
}
String status= tokenJSON.status
assert StartProcessResponseCode.equals("200")
assert "SUCCESS".equals(status)
for (a in SampleResult.getAssertionResults()) {
if (a.isError() || a.isFailure()) {
//log.error(Thread.currentThread().getName()+": "+SampleLabel+": Assertion
failed for response: " + new String((byte[]) ResponseData));
log.info("Failed Assertion Message---------------------"+AssertionResult.getFailureMessage());
log.info("Failed Response Data---------------------"+SampleResult.getResponseDataAsString())
}
}
But in this case errors not logging for any Assertion failure