diff --git a/core/modules/block_content/tests/src/Functional/BlockContentTranslationUITest.php b/core/modules/block_content/tests/src/Functional/BlockContentTranslationUITest.php
index 98d302dbc14b36f7fbf4c166cbcfb9d8762e9d04..1b24d5c02e311f88b0960605b4b45d03d7beac7e 100644
--- a/core/modules/block_content/tests/src/Functional/BlockContentTranslationUITest.php
+++ b/core/modules/block_content/tests/src/Functional/BlockContentTranslationUITest.php
@@ -51,6 +51,7 @@ protected function setUp(): void {
     $this->bundle = 'basic';
     $this->testLanguageSelector = FALSE;
     parent::setUp();
+    $this->doSetup();
 
     $this->drupalPlaceBlock('page_title_block');
   }
diff --git a/core/modules/comment/tests/src/Functional/CommentTranslationUITest.php b/core/modules/comment/tests/src/Functional/CommentTranslationUITest.php
index e20146500ab2a18a189da3510cb9d2b625625836..779700b44d32e480b9aea483c2b28482ec8a1619 100644
--- a/core/modules/comment/tests/src/Functional/CommentTranslationUITest.php
+++ b/core/modules/comment/tests/src/Functional/CommentTranslationUITest.php
@@ -71,6 +71,7 @@ protected function setUp(): void {
     $this->testLanguageSelector = FALSE;
     $this->subject = $this->randomMachineName();
     parent::setUp();
+    $this->doSetup();
   }
 
   /**
diff --git a/core/modules/content_translation/tests/src/Functional/ContentTestTranslationUITest.php b/core/modules/content_translation/tests/src/Functional/ContentTestTranslationUITest.php
index ba0cbf67071da7c7967179c588aa17bf0e028e98..520eca531f0194deb06c72f2e82a43e56ce56639 100644
--- a/core/modules/content_translation/tests/src/Functional/ContentTestTranslationUITest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTestTranslationUITest.php
@@ -48,6 +48,7 @@ protected function setUp(): void {
     // Use the entity_test_mul as this has multilingual property support.
     $this->entityTypeId = 'entity_test_mul_changed';
     parent::setUp();
+    $this->doSetup();
   }
 
   /**
diff --git a/core/modules/content_translation/tests/src/Functional/ContentTranslationMetadataFieldsTest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationMetadataFieldsTest.php
index c189ede404f60ce204d09d446ec158047b748e12..f391918b7a4a782a166fb684b736637e4377ea1d 100644
--- a/core/modules/content_translation/tests/src/Functional/ContentTranslationMetadataFieldsTest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationMetadataFieldsTest.php
@@ -43,6 +43,14 @@ protected function setupBundle() {
     $this->createContentType(['type' => $this->bundle]);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp(): void {
+    parent::setUp();
+    $this->doSetup();
+  }
+
   /**
    * Tests skipping setting non translatable metadata fields.
    */
diff --git a/core/modules/content_translation/tests/src/Functional/ContentTranslationNewTranslationWithExistingRevisionsTest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationNewTranslationWithExistingRevisionsTest.php
index e11056f56c56536e8fbb033f0820075287d9ff6f..fe41739bcdb5bdad45826e6c1214e2684d9335ae 100644
--- a/core/modules/content_translation/tests/src/Functional/ContentTranslationNewTranslationWithExistingRevisionsTest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationNewTranslationWithExistingRevisionsTest.php
@@ -33,6 +33,7 @@ class ContentTranslationNewTranslationWithExistingRevisionsTest extends ContentT
    */
   protected function setUp(): void {
     parent::setUp();
+    $this->doSetup();
     $this->enableContentModeration();
   }
 
diff --git a/core/modules/content_translation/tests/src/Functional/ContentTranslationOutdatedRevisionTranslationTest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationOutdatedRevisionTranslationTest.php
index b01f5b5c70c3447af2fa19c83f87d072581b7105..cb18d8e0bfd57384cd2dbeae86cbf489cae4000d 100644
--- a/core/modules/content_translation/tests/src/Functional/ContentTranslationOutdatedRevisionTranslationTest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationOutdatedRevisionTranslationTest.php
@@ -22,6 +22,7 @@ class ContentTranslationOutdatedRevisionTranslationTest extends ContentTranslati
    */
   protected function setUp(): void {
     parent::setUp();
+    $this->doSetup();
     $this->enableContentModeration();
   }
 
diff --git a/core/modules/content_translation/tests/src/Functional/ContentTranslationRevisionTranslationDeletionTest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationRevisionTranslationDeletionTest.php
index 97e2f0da6ba645341a14a53da3a2a5aea028bbda..12a726c3db260028d28233c40c69317f5e7d8a80 100644
--- a/core/modules/content_translation/tests/src/Functional/ContentTranslationRevisionTranslationDeletionTest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationRevisionTranslationDeletionTest.php
@@ -22,6 +22,7 @@ class ContentTranslationRevisionTranslationDeletionTest extends ContentTranslati
    */
   protected function setUp(): void {
     parent::setUp();
+    $this->doSetup();
     $this->enableContentModeration();
   }
 
diff --git a/core/modules/content_translation/tests/src/Functional/ContentTranslationSyncImageTest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationSyncImageTest.php
index 899083a87cdee502ddce189b520c83f7f3846a1c..fb1f3c18bf6110373d565da057ac940172b01ec7 100644
--- a/core/modules/content_translation/tests/src/Functional/ContentTranslationSyncImageTest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationSyncImageTest.php
@@ -57,6 +57,7 @@ class ContentTranslationSyncImageTest extends ContentTranslationTestBase {
    */
   protected function setUp(): void {
     parent::setUp();
+    $this->doSetup();
     $this->files = $this->drupalGetTestFiles('image');
   }
 
diff --git a/core/modules/content_translation/tests/src/Functional/ContentTranslationTestBase.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationTestBase.php
index 405fa2beea380702936ddc97581849574f8ef412..48e5f94efe09c9e64886d7a7d5534aaf10777ed6 100644
--- a/core/modules/content_translation/tests/src/Functional/ContentTranslationTestBase.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationTestBase.php
@@ -83,11 +83,9 @@ abstract class ContentTranslationTestBase extends BrowserTestBase {
   protected $manager;
 
   /**
-   * {@inheritdoc}
+   * Completes preparation for content translation tests.
    */
-  protected function setUp(): void {
-    parent::setUp();
-
+  protected function doSetup(): void {
     $this->setupLanguages();
     $this->setupBundle();
     $this->enableTranslation();
diff --git a/core/modules/content_translation/tests/src/Functional/ContentTranslationUntranslatableFieldsTest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationUntranslatableFieldsTest.php
index c499328bd020a054f77b43f459162235f0d6f65e..014d78a6ddd97f2f129513f42ffdea69fe341aa1 100644
--- a/core/modules/content_translation/tests/src/Functional/ContentTranslationUntranslatableFieldsTest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationUntranslatableFieldsTest.php
@@ -32,6 +32,7 @@ class ContentTranslationUntranslatableFieldsTest extends ContentTranslationPendi
    */
   protected function setUp(): void {
     parent::setUp();
+    $this->doSetup();
 
     // Configure one field as untranslatable.
     $this->drupalLogin($this->administrator);
diff --git a/core/modules/content_translation/tests/src/Functional/ContentTranslationWorkflowsTest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationWorkflowsTest.php
index c8b740e0477b03a3d97e818f1dd9ca97bbb43438..d55e49e786aedd72a4e0dd2291ae744f7baf8d70 100644
--- a/core/modules/content_translation/tests/src/Functional/ContentTranslationWorkflowsTest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationWorkflowsTest.php
@@ -74,6 +74,7 @@ class ContentTranslationWorkflowsTest extends ContentTranslationTestBase {
    */
   protected function setUp(): void {
     parent::setUp();
+    $this->doSetup();
 
     $field_storage = FieldStorageConfig::create([
       'field_name' => 'field_reference',
diff --git a/core/modules/content_translation/tests/src/Functional/Views/TranslationLinkTest.php b/core/modules/content_translation/tests/src/Functional/Views/TranslationLinkTest.php
index 336bc3b9cb6779e33900d4bc4595a4c213e216c5..ff218d0e6c55f935d24aab891412b4142e1985e2 100644
--- a/core/modules/content_translation/tests/src/Functional/Views/TranslationLinkTest.php
+++ b/core/modules/content_translation/tests/src/Functional/Views/TranslationLinkTest.php
@@ -42,6 +42,7 @@ protected function setUp(): void {
     $this->entityTypeId = 'user';
 
     parent::setUp();
+    $this->doSetup();
 
     // Assign user 1  a language code so that the entity can be translated.
     $user = User::load(1);
diff --git a/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTranslationTest.php b/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTranslationTest.php
index 4b5999d903021455e0b063ef4652efd653f3a335..c52bc8cb347fca046e3fff6172445937d117f242 100644
--- a/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTranslationTest.php
+++ b/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTranslationTest.php
@@ -41,6 +41,7 @@ class LayoutBuilderTranslationTest extends ContentTranslationTestBase {
    */
   protected function setUp(): void {
     parent::setUp();
+    $this->doSetup();
     $this->setUpViewDisplay();
     $this->setUpEntities();
   }
diff --git a/core/modules/media/tests/src/Functional/MediaTranslationUITest.php b/core/modules/media/tests/src/Functional/MediaTranslationUITest.php
index 20d3cd8c6e2cce04819fa901d793e383092f56e0..9e8538b9fe786fd69c916d27bff6797ab5d1adbe 100644
--- a/core/modules/media/tests/src/Functional/MediaTranslationUITest.php
+++ b/core/modules/media/tests/src/Functional/MediaTranslationUITest.php
@@ -49,6 +49,7 @@ protected function setUp(): void {
     $this->entityTypeId = 'media';
     $this->bundle = 'test';
     parent::setUp();
+    $this->doSetup();
   }
 
   /**
diff --git a/core/modules/menu_link_content/tests/src/Functional/MenuLinkContentTranslationUITest.php b/core/modules/menu_link_content/tests/src/Functional/MenuLinkContentTranslationUITest.php
index e8ab747f60ca87754b360d01675eedff748718f9..c711b8668b02e4694677e9aa99d4adac64c25937 100644
--- a/core/modules/menu_link_content/tests/src/Functional/MenuLinkContentTranslationUITest.php
+++ b/core/modules/menu_link_content/tests/src/Functional/MenuLinkContentTranslationUITest.php
@@ -41,6 +41,7 @@ protected function setUp(): void {
     $this->entityTypeId = 'menu_link_content';
     $this->bundle = 'menu_link_content';
     parent::setUp();
+    $this->doSetup();
   }
 
   /**
diff --git a/core/modules/node/tests/src/Functional/NodeTranslationUITest.php b/core/modules/node/tests/src/Functional/NodeTranslationUITest.php
index 004fab2e56b6cb223adfd9f6b97e134c3cb3acbe..b4ea93b0cf7ad22e3ec1d1f6e3274912b72bdd18 100644
--- a/core/modules/node/tests/src/Functional/NodeTranslationUITest.php
+++ b/core/modules/node/tests/src/Functional/NodeTranslationUITest.php
@@ -3,12 +3,18 @@
 namespace Drupal\Tests\node\Functional;
 
 use Drupal\Core\Entity\EntityInterface;
+use Drupal\Core\Entity\Entity\EntityFormDisplay;
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\Core\Url;
 use Drupal\Tests\content_translation\Functional\ContentTranslationUITestBase;
 use Drupal\Tests\language\Traits\LanguageTestTrait;
+use Drupal\comment\Tests\CommentTestTrait;
+use Drupal\field\Entity\FieldConfig;
+use Drupal\field\Entity\FieldStorageConfig;
 use Drupal\language\Entity\ConfigurableLanguage;
 use Drupal\node\Entity\Node;
+use Drupal\user\Entity\Role;
+use Drupal\user\RoleInterface;
 
 /**
  * Tests the Node Translation UI.
@@ -19,6 +25,7 @@
 class NodeTranslationUITest extends ContentTranslationUITestBase {
 
   use LanguageTestTrait;
+  use CommentTestTrait;
 
   /**
    * {@inheritdoc}
@@ -29,18 +36,11 @@ class NodeTranslationUITest extends ContentTranslationUITestBase {
    * {@inheritdoc}
    */
   protected $defaultCacheContexts = [
-    'languages:language_interface',
     'theme',
-    'route',
     'timezone',
-    'url.path.parent',
     'url.query_args:_wrapper_format',
     'url.site',
-    'user.roles',
-    'url.path.is_front',
-    // These two cache contexts are added by BigPipe.
-    'cookies:big_pipe_nojs',
-    'session.exists',
+    'user.permissions',
   ];
 
   /**
@@ -53,18 +53,9 @@ class NodeTranslationUITest extends ContentTranslationUITestBase {
     'language',
     'content_translation',
     'node',
-    'datetime',
     'field_ui',
-    'help',
   ];
 
-  /**
-   * The profile to install as a basis for testing.
-   *
-   * @var string
-   */
-  protected $profile = 'standard';
-
   /**
    * {@inheritdoc}
    */
@@ -73,6 +64,10 @@ protected function setUp(): void {
     $this->bundle = 'article';
     parent::setUp();
 
+    // Create the bundle.
+    $this->drupalCreateContentType(['type' => 'article', 'title' => 'Article']);
+    $this->doSetup();
+
     // Ensure the help message is shown even with prefixed paths.
     $this->drupalPlaceBlock('help_block', ['region' => 'content']);
 
@@ -99,10 +94,6 @@ public function testPublishedStatusNoFields() {
     $this->drupalGet('admin/structure/types/manage/article/fields');
     $this->drupalGet('admin/structure/types/manage/article/fields/node.article.' . $this->fieldName . '/delete');
     $this->submitForm([], 'Delete');
-    $this->drupalGet('admin/structure/types/manage/article/fields/node.article.field_tags/delete');
-    $this->submitForm([], 'Delete');
-    $this->drupalGet('admin/structure/types/manage/article/fields/node.article.field_image/delete');
-    $this->submitForm([], 'Delete');
 
     // Add a node.
     $default_langcode = $this->langcodes[0];
@@ -312,6 +303,14 @@ public function testDisabledBundle() {
    * Tests that translations are rendered properly.
    */
   public function testTranslationRendering() {
+    // Add a comment field to the article content type.
+    \Drupal::service('module_installer')->install(['comment']);
+    $this->addDefaultCommentField('node', 'article');
+
+    // Add 'post comments' permission to the authenticated role.
+    $role = Role::load(RoleInterface::AUTHENTICATED_ID);
+    $role->grantPermission('post comments')->save();
+
     $default_langcode = $this->langcodes[0];
     $values[$default_langcode] = $this->getNewEntityValues($default_langcode);
     $this->entityId = $this->createEntity($values[$default_langcode], $default_langcode);
@@ -556,6 +555,20 @@ public function testRevisionTranslationRendering() {
    * Tests title is not escaped (but XSS-filtered) for details form element.
    */
   public function testDetailsTitleIsNotEscaped() {
+    // Create an image field.
+    \Drupal::service('module_installer')->install(['image']);
+    FieldStorageConfig::create([
+      'entity_type' => 'node',
+      'field_name' => 'field_image',
+      'type' => 'image',
+    ])->save();
+    FieldConfig::create([
+      'entity_type' => 'node',
+      'field_name' => 'field_image',
+      'bundle' => 'article',
+      'translatable' => TRUE,
+    ])->save();
+
     $this->drupalLogin($this->administrator);
     // Make the image field a multi-value field in order to display a
     // details form element.
@@ -563,6 +576,10 @@ public function testDetailsTitleIsNotEscaped() {
     $this->drupalGet('admin/structure/types/manage/article/fields/node.article.field_image');
     $this->submitForm($edit, 'Save');
 
+    // Enable the display of the image field.
+    EntityFormDisplay::load('node.article.default')
+      ->setComponent('field_image', ['region' => 'content'])->save();
+
     // Make the image field non-translatable.
     static::setFieldTranslatable('node', 'article', 'field_image', FALSE);
 
diff --git a/core/modules/shortcut/tests/src/Functional/ShortcutTranslationUITest.php b/core/modules/shortcut/tests/src/Functional/ShortcutTranslationUITest.php
index 0418d807923b3a6d5108caffd93e38f0bfb627de..c1271e499b3dc543369c0cd6e8d221478600666a 100644
--- a/core/modules/shortcut/tests/src/Functional/ShortcutTranslationUITest.php
+++ b/core/modules/shortcut/tests/src/Functional/ShortcutTranslationUITest.php
@@ -43,6 +43,7 @@ protected function setUp(): void {
     $this->entityTypeId = 'shortcut';
     $this->bundle = 'default';
     parent::setUp();
+    $this->doSetup();
   }
 
   /**
diff --git a/core/modules/taxonomy/tests/src/Functional/TermTranslationUITest.php b/core/modules/taxonomy/tests/src/Functional/TermTranslationUITest.php
index 2b4ad75364e173f244058cd536c21824350bfe0b..35ff9301e09921582a0a4d95295d772466f8d028 100644
--- a/core/modules/taxonomy/tests/src/Functional/TermTranslationUITest.php
+++ b/core/modules/taxonomy/tests/src/Functional/TermTranslationUITest.php
@@ -50,6 +50,7 @@ protected function setUp(): void {
     $this->entityTypeId = 'taxonomy_term';
     $this->bundle = 'tags';
     parent::setUp();
+    $this->doSetup();
   }
 
   /**
diff --git a/core/modules/user/tests/src/Functional/UserTranslationUITest.php b/core/modules/user/tests/src/Functional/UserTranslationUITest.php
index a1220381cc3d7753811101fa03a757023c25bcb8..34dfc2ddae35b0ae0dbb72cd87be0d94b451a264 100644
--- a/core/modules/user/tests/src/Functional/UserTranslationUITest.php
+++ b/core/modules/user/tests/src/Functional/UserTranslationUITest.php
@@ -54,6 +54,7 @@ protected function setUp(): void {
     $this->testLanguageSelector = FALSE;
     $this->name = $this->randomMachineName();
     parent::setUp();
+    $this->doSetup();
 
     \Drupal::entityTypeManager()->getStorage('user')->resetCache();
   }