diff --git a/core/modules/field_ui/tests/src/FunctionalJavascript/FieldUiIntegrationTest.php b/core/modules/field_ui/tests/src/FunctionalJavascript/FieldUiIntegrationTest.php
index 3b6d9cac7a..40fccfa020 100644
--- a/core/modules/field_ui/tests/src/FunctionalJavascript/FieldUiIntegrationTest.php
+++ b/core/modules/field_ui/tests/src/FunctionalJavascript/FieldUiIntegrationTest.php
@@ -53,21 +53,29 @@ protected function setUp() {
   public function testFieldUiFormatterSettingsButtonKeyboardEnter() {
     // Get a Field UI manage-display page.
     $this->drupalGet('admin/config/people/accounts/display');
-    $session = $this->assertSession();
-    $session->statusCodeEquals(200);
-    $page = $this->getSession()->getPage();
+    $assertSession = $this->assertSession();
+    $session = $this->getSession();
+    $page = $session->getPage();
 
-    $button = $session->waitForElementVisible('css', 'input[data-drupal-selector=edit-fields-field-text-test-settings-edit]');
-    $button->focus();
-    $button->keyPress(13); // ENTER key
-    $session->assertWaitOnAjaxRequest();
+    $assertSession->waitForElementVisible('css', 'input[data-drupal-selector=edit-fields-field-text-test-settings-edit]');
+
+
+    $enter_key_event = <<<JS
+jQuery('input[data-drupal-selector=edit-fields-field-text-test-settings-edit]')
+  .trigger(jQuery.Event('keypress', {
+    which: 13
+  }));
+JS;
+    // PhantomJS driver has buggy, we sent JavaScript key event instead.
+    // @todo: use WebDriver event when we remove PhantomJS driver.
+    $session->executeScript($enter_key_event);
+
+    // We expect a checkbox for the string formatter's link-to-entity setting.
+    $checkbox = $assertSession->waitForElementVisible('css', 'input[data-drupal-selector=edit-fields-field-text-test-settings-edit-form-settings-link-to-entity]');
+    $this->assertTrue($checkbox, 'After pressing formatter settings button, formatter settings fields are present.');
 
     // We expect the edit button has gone.
     $button = $page->find('css', 'input[data-drupal-selector=edit-fields-field-text-test-settings-edit]');
     $this->assertTrue(empty($button), 'After pressing field formatter settings button, it should no longer be present.');
-
-    // We expect a checkbox for the string formatter's link-to-entity setting.
-    $checkbox = $page->find('css', 'input[data-drupal-selector=edit-fields-field-text-test-settings-edit-form-settings-link-to-entity]');
-    $this->assertTrue($checkbox->isVisible(), 'After pressing formatter settings button, formatter settings fields are present.');
   }
 }
