diff --git a/core/modules/migrate/tests/src/Functional/process/DownloadFunctionalTest.php b/core/modules/migrate/tests/src/Functional/process/DownloadFunctionalTest.php
index 26f2f3527fcbc5cb4b62fdcf095084ea558b5aba..51371ff69c839614dd647618700e46549e619cb1 100644
--- a/core/modules/migrate/tests/src/Functional/process/DownloadFunctionalTest.php
+++ b/core/modules/migrate/tests/src/Functional/process/DownloadFunctionalTest.php
@@ -76,8 +76,11 @@ public function testExceptionThrow() {
     $this->assertCount(1, $messages);
     $message = reset($messages);
 
+    // Assert critical parts of the error message, but not the exact message,
+    // since it depends on Guzzle's internal implementation of PSR-7.
     $id = $migration->getPluginId();
-    $this->assertEquals("$id:uri:download: Client error: `GET $invalid_url` resulted in a `404 Not Found` response ($invalid_url)", $message->message);
+    $this->assertStringContainsString("$id:uri:download:", $message->message);
+    $this->assertStringContainsString($invalid_url, $message->message);
     $this->assertEquals(MigrationInterface::MESSAGE_ERROR, $message->level);
 
     // Check that the second row was migrated successfully.
diff --git a/core/tests/Drupal/Tests/BrowserHtmlDebugTrait.php b/core/tests/Drupal/Tests/BrowserHtmlDebugTrait.php
index 71646b4dfc448b684a569ac068b7dcdf4597a6cf..aa4a569e3cf009d7e3fce67a2eb336358f69751b 100644
--- a/core/tests/Drupal/Tests/BrowserHtmlDebugTrait.php
+++ b/core/tests/Drupal/Tests/BrowserHtmlDebugTrait.php
@@ -179,11 +179,14 @@ protected function getResponseLogHandler() {
               $html_output = 'Called from ' . $caller['function'] . ' line ' . $caller['line'];
               $html_output .= '<hr />' . $request->getMethod() . ' request to: ' . $request->getUri();
 
-              // Get the response body as a string. Any errors are silenced as
-              // tests should not fail if there is a problem.
-              // \Drupal\Tests\migrate\Functional\process\DownloadFunctionalTest
-              // fails without the usage of a silence operator.
-              $body = @(string) $response->getBody();
+              /* $var \Psr\Http\Message\StreamInterface $stream */
+              $stream = $response->getBody();
+
+              // Get the response body as a string.
+              $body = $stream->isReadable()
+                ? (string) $stream
+                : 'Response is not readable.';
+
               // On redirect responses (status code starting with '3') we need
               // to remove the meta tag that would do a browser refresh. We
               // don't want to redirect developers away when they look at the