diff --git a/resources/images/missing.snap b/resources/images/missing.snap deleted file mode 100644 index d383b5de..00000000 --- a/resources/images/missing.snap +++ /dev/null @@ -1 +0,0 @@ -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 \ No newline at end of file diff --git a/src/Playwright/Client.php b/src/Playwright/Client.php index 005fa7aa..09beb966 100644 --- a/src/Playwright/Client.php +++ b/src/Playwright/Client.php @@ -93,7 +93,7 @@ public function execute(string $guid, string $method, array $params = [], array while (true) { $responseJson = $this->fetch($this->websocketConnection); - /** @var array{id: string|null, params: array{add: string|null}, error: array{error: array{message: string|null}}} $response */ + /** @var array{id: string|null, params: array{add: string|null}, error: array{error: array{message: string|null}}, errorDetails: array{customErrorMessage: string|null}} $response */ $response = json_decode($responseJson, true); if (isset($response['error']['error']['message'])) { @@ -103,6 +103,12 @@ public function execute(string $guid, string $method, array $params = [], array throw new PlaywrightOutdatedException(); } + // Since 1.61 a failed screenshot expectation reports only "Expect failed" + // here, and sends what actually differs in the error details instead. + if (is_string($response['errorDetails']['customErrorMessage'] ?? null)) { + $message = $response['errorDetails']['customErrorMessage']; + } + throw new ExpectationFailedException($message); } diff --git a/src/Playwright/Page.php b/src/Playwright/Page.php index 54217d95..d3d9e2a2 100644 --- a/src/Playwright/Page.php +++ b/src/Playwright/Page.php @@ -549,20 +549,6 @@ public function expectScreenshot(bool $fullPage, bool $openDiff): void ); } } - - $this->createImageDiffView( - $snapshotName, - $expectedImageBlob, - $actualImageBlob, - ImageDiffView::missingImage(), - $openDiff, - ); - - throw new ExpectationFailedException(<<<'EOT' - Screenshot does not match the last one. - - Expected? Update the snapshots with [--update-snapshots]. - EOT, - ); } } diff --git a/src/Support/ImageDiffView.php b/src/Support/ImageDiffView.php index f1e8cb69..4976826f 100644 --- a/src/Support/ImageDiffView.php +++ b/src/Support/ImageDiffView.php @@ -39,13 +39,4 @@ public static function generate(string $expected, string $actual, string $diff, HTML; } - - /** - * Create a fake image for when Playwright does not return a diff. - */ - public static function missingImage(): string - { - /** @phpstan-ignore-next-line */ - return file_get_contents(__DIR__.'/../../resources/images/missing.snap'); - } }