diff --git a/playwright/src/main/java/com/microsoft/playwright/impl/AssertionsBase.java b/playwright/src/main/java/com/microsoft/playwright/impl/AssertionsBase.java index eb619799..14561c25 100644 --- a/playwright/src/main/java/com/microsoft/playwright/impl/AssertionsBase.java +++ b/playwright/src/main/java/com/microsoft/playwright/impl/AssertionsBase.java @@ -67,7 +67,10 @@ class AssertionsBase { if (expected == null) { throw new AssertionFailedError(message + log); } - throw new AssertionFailedError(message + log, formatValue(expected), formatValue(actual)); + ValueWrapper expectedValue = formatValue(expected); + ValueWrapper actualValue = formatValue(actual); + message += ": " + expectedValue.getStringRepresentation() + "\nReceived: " + actualValue.getStringRepresentation() + "\n"; + throw new AssertionFailedError(message + log, expectedValue, actualValue); } } diff --git a/playwright/src/test/java/com/microsoft/playwright/TestLocatorAssertions.java b/playwright/src/test/java/com/microsoft/playwright/TestLocatorAssertions.java index 6b536382..c9c37730 100644 --- a/playwright/src/test/java/com/microsoft/playwright/TestLocatorAssertions.java +++ b/playwright/src/test/java/com/microsoft/playwright/TestLocatorAssertions.java @@ -190,7 +190,8 @@ public class TestLocatorAssertions extends TestBase { } catch (AssertionFailedError e) { assertEquals("[Text 1, Text 3, Extra]", e.getExpected().getStringRepresentation()); assertEquals("[Text 1, Text 3]", e.getActual().getStringRepresentation()); - assertTrue(e.getMessage().contains("Locator expected to have text"), e.getMessage()); + assertTrue(e.getMessage().contains("Locator expected to have text: [Text 1, Text 3, Extra]"), e.getMessage()); + assertTrue(e.getMessage().contains("Received: [Text 1, Text 3]"), e.getMessage()); } } @@ -234,7 +235,7 @@ public class TestLocatorAssertions extends TestBase { } catch (AssertionFailedError e) { assertEquals("foo", e.getExpected().getStringRepresentation()); assertEquals("node", e.getActual().getStringRepresentation()); - assertTrue(e.getMessage().contains("Locator expected to have attribute 'id'"), e.getMessage()); + assertTrue(e.getMessage().contains("Locator expected to have attribute 'id': foo\nReceived: node"), e.getMessage()); } } @@ -255,7 +256,7 @@ public class TestLocatorAssertions extends TestBase { } catch (AssertionFailedError e) { assertEquals(".Nod..", e.getExpected().getStringRepresentation()); assertEquals("node", e.getActual().getStringRepresentation()); - assertTrue(e.getMessage().contains("Locator expected to have attribute 'id' matching regex"), e.getMessage()); + assertTrue(e.getMessage().contains("Locator expected to have attribute 'id' matching regex: .Nod..\nReceived: node"), e.getMessage()); } } diff --git a/playwright/src/test/java/com/microsoft/playwright/TestPageAssertions.java b/playwright/src/test/java/com/microsoft/playwright/TestPageAssertions.java index 899fc18e..e8bd32b0 100644 --- a/playwright/src/test/java/com/microsoft/playwright/TestPageAssertions.java +++ b/playwright/src/test/java/com/microsoft/playwright/TestPageAssertions.java @@ -106,7 +106,7 @@ public class TestPageAssertions extends TestBase { } catch (AssertionFailedError e) { assertEquals("foo", e.getExpected().getValue()); assertEquals("Woof-Woof", e.getActual().getValue()); - assertTrue(e.getMessage().contains("Page title expected to be"), e.getMessage()); + assertTrue(e.getMessage().contains("Page title expected to be: foo\nReceived: Woof-Woof"), e.getMessage()); } } @@ -125,7 +125,7 @@ public class TestPageAssertions extends TestBase { } catch (AssertionFailedError e) { assertEquals("^foo[AB]", e.getExpected().getStringRepresentation()); assertEquals("Woof-Woof", e.getActual().getValue()); - assertTrue(e.getMessage().contains("Page title expected to match regex"), e.getMessage()); + assertTrue(e.getMessage().contains("Page title expected to match regex: ^foo[AB]\nReceived: Woof-Woof"), e.getMessage()); } }