integration-tests: add failure details
* log details if a test failed
diff --git a/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/integration/FrontendBase.java b/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/integration/FrontendBase.java
index 319d8f0..99598ce 100644
--- a/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/integration/FrontendBase.java
+++ b/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/integration/FrontendBase.java
@@ -121,9 +121,10 @@
return webDriver.findElements(By.cssSelector(".jasmine-symbol-summary li"));
}
- void parseJasmineResults(List<WebElement> results, String path) {
+ void parseJasmineResults(List<WebElement> results, String path) throws MalformedURLException, UnknownHostException {
Assertions.assertTrue(results.size() > 0, path + " no results detected");
+ boolean fail = false;
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("\n");
stringBuilder.append(path);
@@ -133,10 +134,16 @@
stringBuilder.append("✅ passed");
} else {
stringBuilder.append("❌ failed");
+ fail = true;
}
stringBuilder.append(": ");
stringBuilder.append(result.getAttribute("title"));
}
+ if (fail) {
+ stringBuilder.append("\n");
+ stringBuilder.append("failures details:\n");
+ stringBuilder.append(getFailureDetails());
+ }
LOG.info(stringBuilder.toString());
for (WebElement result : results) {
@@ -145,6 +152,11 @@
}
}
+ String getFailureDetails() throws MalformedURLException, UnknownHostException {
+ WebElement failures = getWebDriver().findElement(By.cssSelector(".jasmine-failures"));
+ return failures.getText();
+ }
+
String getTimeLeft(final LocalTime startTime, final int testSize, final int testNo) {
final LocalTime now = LocalTime.now();
final Duration completeWaitTime = Duration.between(startTime, now).dividedBy(testNo).multipliedBy(testSize);