This is an automated email from the ASF dual-hosted git repository. pmouawad pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/jmeter.git
The following commit(s) were added to refs/heads/master by this push: new 8546e23 Bug 65885 - HTML Report: Error report displays wrong failure message when Response Assertion checks Ignore Status and response code is not 200 8546e23 is described below commit 8546e2372ac08eecc27f56a5bfc24a6c4ecc7135 Author: pmouawad <p.moua...@ubik-ingenierie.com> AuthorDate: Tue Feb 15 23:09:16 2022 +0100 Bug 65885 - HTML Report: Error report displays wrong failure message when Response Assertion checks Ignore Status and response code is not 200 --- .../jmeter/report/processor/ErrorsSummaryConsumer.java | 9 ++++++--- .../jmeter/report/processor/ErrorsSummaryConsumerTest.java | 13 +++++++++++-- xdocs/changes.xml | 1 + 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/core/src/main/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumer.java index f017573..3b8d3b5 100644 --- a/src/core/src/main/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumer.java +++ b/src/core/src/main/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumer.java @@ -88,17 +88,20 @@ public class ErrorsSummaryConsumer extends AbstractSummaryConsumer<Long> { * @return String Error key for sample */ static String getErrorKey(Sample sample) { + if (sample.getSuccess()) { + return ""; + } String responseCode = sample.getResponseCode(); String responseMessage = sample.getResponseMessage(); String key = responseCode + (!StringUtils.isEmpty(responseMessage) ? "/" + escapeJson(responseMessage) : ""); + if (MetricUtils.isSuccessCode(responseCode) || - (StringUtils.isEmpty(responseCode) && - !StringUtils.isEmpty(sample.getFailureMessage()))) { + StringUtils.isNotBlank(sample.getFailureMessage())) { key = MetricUtils.ASSERTION_FAILED; if (ASSERTION_RESULTS_FAILURE_MESSAGE) { String msg = sample.getFailureMessage(); - if (!StringUtils.isEmpty(msg)) { + if (StringUtils.isNotBlank(msg)) { key = escapeJson(msg); } } diff --git a/src/core/src/test/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumerTest.java b/src/core/src/test/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumerTest.java index ab43b8e..9a41be9 100644 --- a/src/core/src/test/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumerTest.java +++ b/src/core/src/test/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumerTest.java @@ -38,6 +38,9 @@ public class ErrorsSummaryConsumerTest { sample = new Sample(0, metadata, new String[] { "false", "200", "", "FailureMessage" }); assertEquals("FailureMessage", ErrorsSummaryConsumer.getErrorKey(sample)); + sample = new Sample(0, metadata, new String[] { "false", "200", "", "" }); + assertEquals(MetricUtils.ASSERTION_FAILED, ErrorsSummaryConsumer.getErrorKey(sample)); + sample = new Sample(0, metadata, new String[] { "false", "200", "", "Test failed: text expected to contain /<title>Some html text</title>/" }); assertEquals("Test failed: text expected to contain /<title>Some html text</title>/", @@ -49,9 +52,15 @@ public class ErrorsSummaryConsumerTest { ErrorsSummaryConsumer.getErrorKey(sample)); sample = new Sample(0, metadata, new String[] { "true", "200", "", "" }); - assertEquals(MetricUtils.ASSERTION_FAILED, ErrorsSummaryConsumer.getErrorKey(sample)); + assertEquals("", ErrorsSummaryConsumer.getErrorKey(sample)); + + sample = new Sample(0, metadata, new String[] { "false", "403", "", "" }); + assertEquals("403", ErrorsSummaryConsumer.getErrorKey(sample)); + + sample = new Sample(0, metadata, new String[] { "false", "403", "", "FailureMessage" }); + assertEquals("FailureMessage", ErrorsSummaryConsumer.getErrorKey(sample)); - sample = new Sample(0, metadata, new String[] { "false", "500", "Server Error", "FailureMessage" }); + sample = new Sample(0, metadata, new String[] { "false", "500", "Server Error", "" }); assertEquals("500/Server Error", ErrorsSummaryConsumer.getErrorKey(sample)); } diff --git a/xdocs/changes.xml b/xdocs/changes.xml index 1666936..ced05b1 100644 --- a/xdocs/changes.xml +++ b/xdocs/changes.xml @@ -136,6 +136,7 @@ however, the profile can't be updated while the test is running. <h3>Report / Dashboard</h3> <ul> <li><bug>65353</bug>Make the estimator used for calculating percentiles on the dashboard configurable</li> + <li><bug>65885</bug>HTML Report: Error report displays wrong failure message when Response Assertion checks Ignore Status and response code is not 200</li> </ul> <h3>General</h3>