diff --git a/core/modules/path/tests/src/Functional/PathAliasTest.php b/core/modules/path/tests/src/Functional/PathAliasTest.php
index 013ceebdc3d13cd36ecaccb22afae0cc971b2c07..20b350f872d3f74469b3c635105d2f3e50ac34af 100644
--- a/core/modules/path/tests/src/Functional/PathAliasTest.php
+++ b/core/modules/path/tests/src/Functional/PathAliasTest.php
@@ -148,13 +148,13 @@ public function testAdminAlias() {
     $this->submitForm($edit, 'Save');
 
     // Confirm no duplicate was created.
-    $this->assertSession()->pageTextContains("The alias {$edit['alias[0][value]']} is already in use in this language.");
+    $this->assertSession()->statusMessageContains("The alias {$edit['alias[0][value]']} is already in use in this language.", 'error');
 
     $edit_upper = $edit;
     $edit_upper['alias[0][value]'] = mb_strtoupper($edit['alias[0][value]']);
     $this->drupalGet('admin/config/search/path/add');
     $this->submitForm($edit_upper, 'Save');
-    $this->assertSession()->pageTextContains("The alias {$edit_upper['alias[0][value]']} could not be added because it is already in use in this language with different capitalization: {$edit['alias[0][value]']}.");
+    $this->assertSession()->statusMessageContains("The alias {$edit_upper['alias[0][value]']} could not be added because it is already in use in this language with different capitalization: {$edit['alias[0][value]']}.", 'error');
 
     // Delete alias.
     $this->drupalGet('admin/config/search/path/edit/' . $pid);
@@ -215,7 +215,7 @@ public function testAdminAlias() {
     $edit['path[0][value]'] = '/node/' . $node2->id();
     $this->drupalGet('admin/config/search/path/edit/' . $pid);
     $this->submitForm($edit, 'Save');
-    $this->assertSession()->pageTextContains('The alias has been saved.');
+    $this->assertSession()->statusMessageContains('The alias has been saved.', 'status');
     $this->drupalGet($edit['alias[0][value]']);
     // Previous alias should no longer work.
     $this->assertSession()->pageTextNotContains($node4->label());
@@ -230,7 +230,7 @@ public function testAdminAlias() {
     $edit['path[0][value]'] = '/node/' . $node3->id();
     $this->drupalGet('admin/config/search/path/edit/' . $pid);
     $this->submitForm($edit, 'Save');
-    $this->assertSession()->pageTextContains("The alias {$edit['alias[0][value]']} is already in use in this language.");
+    $this->assertSession()->statusMessageContains("The alias {$edit['alias[0][value]']} is already in use in this language.", 'error');
 
     // Create an alias without a starting slash.
     $node5 = $this->drupalCreateNode();
@@ -243,8 +243,8 @@ public function testAdminAlias() {
     $this->submitForm($edit, 'Save');
 
     $this->assertSession()->addressEquals('admin/config/search/path/add');
-    $this->assertSession()->pageTextContains('The source path has to start with a slash.');
-    $this->assertSession()->pageTextContains('The alias path has to start with a slash.');
+    $this->assertSession()->statusMessageContains('The source path has to start with a slash.', 'error');
+    $this->assertSession()->statusMessageContains('The alias path has to start with a slash.', 'error');
   }
 
   /**
@@ -312,7 +312,7 @@ public function testNodeAlias() {
     $this->submitForm($edit, 'Save');
 
     // Confirm that the alias didn't make a duplicate.
-    $this->assertSession()->pageTextContains("The alias {$edit['path[0][alias]']} is already in use in this language.");
+    $this->assertSession()->statusMessageContains("The alias {$edit['path[0][alias]']} is already in use in this language.", 'error');
 
     // Delete alias.
     $this->drupalGet('node/' . $node1->id() . '/edit');
@@ -369,7 +369,7 @@ public function testNodeAlias() {
     $edit = ['path[0][alias]' => '0'];
     $this->drupalGet($node6->toUrl('edit-form'));
     $this->submitForm($edit, 'Save');
-    $this->assertSession()->pageTextContains('The alias path has to start with a slash.');
+    $this->assertSession()->statusMessageContains('The alias path has to start with a slash.', 'error');
 
     // Create an invalid alias with two leading slashes and verify that the
     // extra slash is removed when the link is generated. This ensures that URL
@@ -428,7 +428,7 @@ public function testDuplicateNodeAlias() {
     $node_two = $this->drupalCreateNode();
     $this->drupalGet('node/' . $node_two->id() . '/edit');
     $this->submitForm($edit, 'Save');
-    $this->assertSession()->pageTextContains("The alias {$edit['path[0][alias]']} is already in use in this language.");
+    $this->assertSession()->statusMessageContains("The alias {$edit['path[0][alias]']} is already in use in this language.", 'error');
     $path_alias = $this->assertSession()->fieldExists('path[0][alias]');
     $this->assertSession()->fieldValueEquals('path[0][alias]', $edit['path[0][alias]']);
     $this->assertTrue($path_alias->hasClass('error'));
@@ -444,7 +444,7 @@ public function testDuplicateNodeAlias() {
     // This error should still be present next to the field.
     $this->assertSession()->pageTextContains("The alias {$edit['path[0][alias]']} is already in use in this language.");
     // The validation error set for the page should include this text.
-    $this->assertSession()->pageTextContains('1 error has been found: URL alias');
+    $this->assertSession()->statusMessageContains('1 error has been found: URL alias', 'error');
     // The text 'URL alias' should be a link.
     $this->assertSession()->linkExists('URL alias');
     // The link should be to the ID of the URL alias field.
diff --git a/core/modules/path/tests/src/Functional/PathContentModerationTest.php b/core/modules/path/tests/src/Functional/PathContentModerationTest.php
index 46e9a92d2e0118481f193efb36b6dd848b614c48..44577276946ea35d511ff2a8c0e227a1b7edeece 100644
--- a/core/modules/path/tests/src/Functional/PathContentModerationTest.php
+++ b/core/modules/path/tests/src/Functional/PathContentModerationTest.php
@@ -94,7 +94,7 @@ public function testNodePathAlias() {
       'path[0][alias]' => '/moderated-content',
       'moderation_state[0][state]' => 'draft',
     ], 'Save');
-    $this->assertSession()->pageTextNotContains('You can only change the URL alias for the published version of this content.');
+    $this->assertSession()->statusMessageNotContains('You can only change the URL alias for the published version of this content.');
 
     // Create some moderated content with no path alias.
     $this->drupalGet('node/add/moderated');
@@ -114,7 +114,7 @@ public function testNodePathAlias() {
       'path[0][alias]' => '/pending-revision',
       'moderation_state[0][state]' => 'draft',
     ], 'Save');
-    $this->assertSession()->pageTextContains('You can only change the URL alias for the published version of this content.');
+    $this->assertSession()->statusMessageContains('You can only change the URL alias for the published version of this content.', 'error');
 
     // Create some moderated content with no path alias.
     $this->drupalGet('node/add/moderated');
@@ -134,7 +134,7 @@ public function testNodePathAlias() {
       'path[0][alias]' => '',
       'moderation_state[0][state]' => 'draft',
     ], 'Save');
-    $this->assertSession()->pageTextNotContains('You can only change the URL alias for the published version of this content.');
+    $this->assertSession()->statusMessageNotContains('You can only change the URL alias for the published version of this content.');
   }
 
   /**
@@ -176,7 +176,7 @@ public function testTranslatedModeratedNodeAlias() {
     $this->drupalGet('fr/node/' . $default_node->id() . '/edit');
     $this->submitForm($edit_new_translation_draft_with_alias, 'Save (this translation)');
     // Confirm the expected error.
-    $this->assertSession()->pageTextContains('You can only change the URL alias for the published version of this content.');
+    $this->assertSession()->statusMessageContains('You can only change the URL alias for the published version of this content.', 'error');
 
     // Create new draft revision for translation without changing path alias.
     $edit_new_translation_draft = [
@@ -186,7 +186,7 @@ public function testTranslatedModeratedNodeAlias() {
     $this->drupalGet('fr/node/' . $default_node->id() . '/edit');
     $this->submitForm($edit_new_translation_draft, 'Save (this translation)');
     // Confirm that the new draft revision was created.
-    $this->assertSession()->pageTextNotContains('You can only change the URL alias for the published version of this content.');
+    $this->assertSession()->statusMessageNotContains('You can only change the URL alias for the published version of this content.');
     $this->assertSession()->pageTextContains($edit_new_translation_draft['body[0][value]']);
     $this->assertPathsAreAccessible([$default_path, $translation_path]);
 
@@ -199,7 +199,7 @@ public function testTranslatedModeratedNodeAlias() {
     $this->drupalGet('fr/node/' . $default_node->id() . '/edit');
     $this->submitForm($edit_new_translation_draft_with_defaults_alias, 'Save (this translation)');
     // Verify the expected error.
-    $this->assertSession()->pageTextContains('You can only change the URL alias for the published version of this content.');
+    $this->assertSession()->statusMessageContains('You can only change the URL alias for the published version of this content.', 'error');
 
     // Try to create new draft revision for translation with deleted (empty)
     // path alias.
@@ -211,7 +211,7 @@ public function testTranslatedModeratedNodeAlias() {
     $this->drupalGet('fr/node/' . $default_node->id() . '/edit');
     $this->submitForm($edit_new_translation_draft_empty_alias, 'Save (this translation)');
     // Confirm the expected error.
-    $this->assertSession()->pageTextContains('You can only change the URL alias for the published version of this content.');
+    $this->assertSession()->statusMessageContains('You can only change the URL alias for the published version of this content.', 'error');
 
     // Create new default (published) revision for translation with new path
     // alias.
@@ -223,7 +223,7 @@ public function testTranslatedModeratedNodeAlias() {
     $this->drupalGet('fr/node/' . $default_node->id() . '/edit');
     $this->submitForm($edit_new_translation, 'Save (this translation)');
     // Confirm that the new published revision was created.
-    $this->assertSession()->pageTextNotContains('You can only change the URL alias for the published version of this content.');
+    $this->assertSession()->statusMessageNotContains('You can only change the URL alias for the published version of this content.');
     $this->assertSession()->pageTextContains($edit_new_translation['body[0][value]']);
     $this->assertSession()->addressEquals('fr' . $edit_new_translation['path[0][alias]']);
     $this->assertPathsAreAccessible([$default_path]);
diff --git a/core/modules/path/tests/src/Functional/PathMediaFormTest.php b/core/modules/path/tests/src/Functional/PathMediaFormTest.php
index aa6b9555e89024a720fe218653ff6cf14fa28d7c..3f66691f84150edd90642ed94b6cb88c4806d883 100644
--- a/core/modules/path/tests/src/Functional/PathMediaFormTest.php
+++ b/core/modules/path/tests/src/Functional/PathMediaFormTest.php
@@ -19,7 +19,7 @@ class PathMediaFormTest extends PathTestBase {
   /**
    * {@inheritdoc}
    */
-  protected $defaultTheme = 'classy';
+  protected $defaultTheme = 'stark';
 
   /**
    * {@inheritdoc}
@@ -53,7 +53,7 @@ public function testMediaForm() {
     $this->drupalGet('media/add/' . $media_type_id);
 
     // Make sure we have a vertical tab fieldset and 'Path' field.
-    $assert_session->elementContains('css', '.form-type-vertical-tabs #edit-path-0 summary', 'URL alias');
+    $assert_session->elementContains('css', '.js-form-type-vertical-tabs #edit-path-0 summary', 'URL alias');
     $assert_session->fieldExists('path[0][alias]');
 
     // Disable the 'Path' field for this content type.
@@ -64,7 +64,7 @@ public function testMediaForm() {
     $this->drupalGet('media/add/' . $media_type_id);
 
     // See if the whole fieldset is gone now.
-    $assert_session->elementNotExists('css', '.form-type-vertical-tabs #edit-path-0');
+    $assert_session->elementNotExists('css', '.js-form-type-vertical-tabs #edit-path-0');
     $assert_session->fieldNotExists('path[0][alias]');
   }
 
diff --git a/core/modules/path/tests/src/Functional/PathNodeFormTest.php b/core/modules/path/tests/src/Functional/PathNodeFormTest.php
index d1db2ee3c091b7938b14d57f9d6693744080ce3c..39205adcfd694f016aa7a20a6aa874506b29a313 100644
--- a/core/modules/path/tests/src/Functional/PathNodeFormTest.php
+++ b/core/modules/path/tests/src/Functional/PathNodeFormTest.php
@@ -19,7 +19,7 @@ class PathNodeFormTest extends PathTestBase {
   /**
    * {@inheritdoc}
    */
-  protected $defaultTheme = 'classy';
+  protected $defaultTheme = 'stark';
 
   protected function setUp(): void {
     parent::setUp();
@@ -41,7 +41,7 @@ public function testNodeForm() {
     $this->drupalGet('node/add/page');
 
     // Make sure we have a vertical tab fieldset and 'Path' fields.
-    $assert_session->elementContains('css', '.form-type-vertical-tabs #edit-path-0 summary', 'URL alias');
+    $assert_session->elementContains('css', '.js-form-type-vertical-tabs #edit-path-0 summary', 'URL alias');
     $assert_session->fieldExists('path[0][alias]');
 
     // Disable the 'Path' field for this content type.
@@ -52,7 +52,7 @@ public function testNodeForm() {
     $this->drupalGet('node/add/page');
 
     // See if the whole fieldset is gone now.
-    $assert_session->elementNotExists('css', '.form-type-vertical-tabs #edit-path-0');
+    $assert_session->elementNotExists('css', '.js-form-type-vertical-tabs #edit-path-0');
     $assert_session->fieldNotExists('path[0][alias]');
   }