diff --git a/core/modules/options/tests/src/Functional/OptionsDynamicValuesTestBase.php b/core/modules/options/tests/src/Functional/OptionsDynamicValuesTestBase.php
index 64e90104cf6ec94f9f49d64377f8f8e3203d27e9..16c29907c885ede74b0b478805805dcb603dbb56 100644
--- a/core/modules/options/tests/src/Functional/OptionsDynamicValuesTestBase.php
+++ b/core/modules/options/tests/src/Functional/OptionsDynamicValuesTestBase.php
@@ -3,9 +3,9 @@
 namespace Drupal\Tests\options\Functional;
 
 use Drupal\field\Entity\FieldConfig;
-use Drupal\field\Tests\FieldTestBase;
 use Drupal\field\Entity\FieldStorageConfig;
 use Drupal\entity_test\Entity\EntityTestRev;
+use Drupal\Tests\field\Functional\FieldTestBase;
 
 /**
  * Base class for testing allowed values of options fields.
diff --git a/core/modules/options/tests/src/Functional/OptionsFieldUITest.php b/core/modules/options/tests/src/Functional/OptionsFieldUITest.php
index ec5874b2e06b18d42b86d4f2dc1c3ec0706b8268..b61748397c8d42d35820a912b647e4ffa334f6d1 100644
--- a/core/modules/options/tests/src/Functional/OptionsFieldUITest.php
+++ b/core/modules/options/tests/src/Functional/OptionsFieldUITest.php
@@ -4,7 +4,7 @@
 
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
-use Drupal\field\Tests\FieldTestBase;
+use Drupal\Tests\field\Functional\FieldTestBase;
 
 /**
  * Tests the Options field UI functionality.
diff --git a/core/modules/options/tests/src/Functional/OptionsFloatFieldImportTest.php b/core/modules/options/tests/src/Functional/OptionsFloatFieldImportTest.php
index befd48e42aca9649b02197be878d1f88f3dbe059..d4d6afff9537688b7a9b565b55948468ee481929 100644
--- a/core/modules/options/tests/src/Functional/OptionsFloatFieldImportTest.php
+++ b/core/modules/options/tests/src/Functional/OptionsFloatFieldImportTest.php
@@ -4,7 +4,7 @@
 
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
-use Drupal\field\Tests\FieldTestBase;
+use Drupal\Tests\field\Functional\FieldTestBase;
 
 /**
  * Tests option fields can be updated and created through config synchronization.
diff --git a/core/modules/options/tests/src/Functional/OptionsSelectDynamicValuesTest.php b/core/modules/options/tests/src/Functional/OptionsSelectDynamicValuesTest.php
index e94126504062c47e2297e892fa84620fae6b82fa..0fb357be04b7d2d1ed1d7031c5e755d9199df6e0 100644
--- a/core/modules/options/tests/src/Functional/OptionsSelectDynamicValuesTest.php
+++ b/core/modules/options/tests/src/Functional/OptionsSelectDynamicValuesTest.php
@@ -25,7 +25,7 @@ public function testSelectListDynamic() {
     $options = $this->xpath('//select[@id="edit-test-options"]/option');
     $this->assertEqual(count($options), count($this->test) + 1);
     foreach ($options as $option) {
-      $value = (string) $option['value'];
+      $value = $option->getValue();
       if ($value != '_none') {
         $this->assertTrue(array_search($value, $this->test));
       }
diff --git a/core/modules/options/tests/src/Functional/OptionsWidgetsTest.php b/core/modules/options/tests/src/Functional/OptionsWidgetsTest.php
index a6cee048a87f70cb0f14d7e94b98275609ac7627..5f15ac9cbee08f95c46cae32ebf2bf5dcf0de774 100644
--- a/core/modules/options/tests/src/Functional/OptionsWidgetsTest.php
+++ b/core/modules/options/tests/src/Functional/OptionsWidgetsTest.php
@@ -4,8 +4,8 @@
 
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
-use Drupal\field\Tests\FieldTestBase;
 use Drupal\field\Entity\FieldStorageConfig;
+use Drupal\Tests\field\Functional\FieldTestBase;
 
 /**
  * Tests the Options widgets.
@@ -254,13 +254,13 @@ public function testSelectListSingle() {
     // Display form.
     $this->drupalGet('entity_test/manage/' . $entity->id() . '/edit');
     // A required field without any value has a "none" option.
-    $this->assertTrue($this->xpath('//select[@id=:id]//option[@value="_none" and text()=:label]', [':id' => 'edit-card-1', ':label' => t('- Select a value -')]), 'A required select list has a "Select a value" choice.');
+    $this->assertTrue($this->xpath('//select[@id=:id]//option[@value="_none" and text()=:label]', [':id' => 'edit-card-1', ':label' => '- Select a value -']), 'A required select list has a "Select a value" choice.');
 
     // With no field data, nothing is selected.
-    $this->assertNoOptionSelected('edit-card-1', '_none');
-    $this->assertNoOptionSelected('edit-card-1', 0);
-    $this->assertNoOptionSelected('edit-card-1', 1);
-    $this->assertNoOptionSelected('edit-card-1', 2);
+    $this->assertTrue($this->assertSession()->optionExists('card_1', '_none')->isSelected());
+    $this->assertFalse($this->assertSession()->optionExists('card_1', 0)->isSelected());
+    $this->assertFalse($this->assertSession()->optionExists('card_1', 1)->isSelected());
+    $this->assertFalse($this->assertSession()->optionExists('card_1', 2)->isSelected());
     $this->assertRaw('Some dangerous & unescaped markup', 'Option text was properly filtered.');
 
     // Submit form: select invalid 'none' option.
@@ -277,9 +277,9 @@ public function testSelectListSingle() {
     $this->drupalGet('entity_test/manage/' . $entity->id() . '/edit');
     // A required field with a value has no 'none' option.
     $this->assertFalse($this->xpath('//select[@id=:id]//option[@value="_none"]', [':id' => 'edit-card-1']), 'A required select list with an actual value has no "none" choice.');
-    $this->assertOptionSelected('edit-card-1', 0);
-    $this->assertNoOptionSelected('edit-card-1', 1);
-    $this->assertNoOptionSelected('edit-card-1', 2);
+    $this->assertTrue($this->assertSession()->optionExists('card_1', 0)->isSelected());
+    $this->assertFalse($this->assertSession()->optionExists('card_1', 1)->isSelected());
+    $this->assertFalse($this->assertSession()->optionExists('card_1', 2)->isSelected());
 
     // Make the field non required.
     $field->setRequired(FALSE);
@@ -288,7 +288,7 @@ public function testSelectListSingle() {
     // Display form.
     $this->drupalGet('entity_test/manage/' . $entity->id() . '/edit');
     // A non-required field has a 'none' option.
-    $this->assertTrue($this->xpath('//select[@id=:id]//option[@value="_none" and text()=:label]', [':id' => 'edit-card-1', ':label' => t('- None -')]), 'A non-required select list has a "None" choice.');
+    $this->assertTrue($this->xpath('//select[@id=:id]//option[@value="_none" and text()=:label]', [':id' => 'edit-card-1', ':label' => '- None -']), 'A non-required select list has a "None" choice.');
     // Submit form: Unselect the option.
     $edit = ['card_1' => '_none'];
     $this->drupalPostForm('entity_test/manage/' . $entity->id() . '/edit', $edit, t('Save'));
@@ -302,9 +302,9 @@ public function testSelectListSingle() {
 
     // Display form: with no field data, nothing is selected
     $this->drupalGet('entity_test/manage/' . $entity->id() . '/edit');
-    $this->assertNoOptionSelected('edit-card-1', 0);
-    $this->assertNoOptionSelected('edit-card-1', 1);
-    $this->assertNoOptionSelected('edit-card-1', 2);
+    $this->assertFalse($this->assertSession()->optionExists('card_1', 0)->isSelected());
+    $this->assertFalse($this->assertSession()->optionExists('card_1', 1)->isSelected());
+    $this->assertFalse($this->assertSession()->optionExists('card_1', 2)->isSelected());
     $this->assertRaw('Some dangerous & unescaped markup', 'Option text was properly filtered.');
     $this->assertRaw('More <script>dangerous</script> markup', 'Option group text was properly filtered.');
     $this->assertRaw('Group 1', 'Option groups are displayed.');
@@ -316,9 +316,9 @@ public function testSelectListSingle() {
 
     // Display form: check that the right options are selected.
     $this->drupalGet('entity_test/manage/' . $entity->id() . '/edit');
-    $this->assertOptionSelected('edit-card-1', 0);
-    $this->assertNoOptionSelected('edit-card-1', 1);
-    $this->assertNoOptionSelected('edit-card-1', 2);
+    $this->assertTrue($this->assertSession()->optionExists('card_1', 0)->isSelected());
+    $this->assertFalse($this->assertSession()->optionExists('card_1', 1)->isSelected());
+    $this->assertFalse($this->assertSession()->optionExists('card_1', 2)->isSelected());
 
     // Submit form: Unselect the option.
     $edit = ['card_1' => '_none'];
@@ -352,10 +352,10 @@ public function testSelectListMultiple() {
 
     // Display form: with no field data, nothing is selected.
     $this->drupalGet('entity_test/manage/' . $entity->id() . '/edit');
-    $this->assertOptionSelected("edit-card-2", '_none');
-    $this->assertNoOptionSelected('edit-card-2', 0);
-    $this->assertNoOptionSelected('edit-card-2', 1);
-    $this->assertNoOptionSelected('edit-card-2', 2);
+    $this->assertTrue($this->assertSession()->optionExists('card_2', '_none')->isSelected());
+    $this->assertFalse($this->assertSession()->optionExists('card_2', 0)->isSelected());
+    $this->assertFalse($this->assertSession()->optionExists('card_2', 1)->isSelected());
+    $this->assertFalse($this->assertSession()->optionExists('card_2', 2)->isSelected());
     $this->assertRaw('Some dangerous & unescaped markup', 'Option text was properly filtered.');
 
     // Submit form: select first and third options.
@@ -365,9 +365,9 @@ public function testSelectListMultiple() {
 
     // Display form: check that the right options are selected.
     $this->drupalGet('entity_test/manage/' . $entity->id() . '/edit');
-    $this->assertOptionSelected('edit-card-2', 0);
-    $this->assertNoOptionSelected('edit-card-2', 1);
-    $this->assertOptionSelected('edit-card-2', 2);
+    $this->assertTrue($this->assertSession()->optionExists('card_2', 0)->isSelected());
+    $this->assertFalse($this->assertSession()->optionExists('card_2', 1)->isSelected());
+    $this->assertTrue($this->assertSession()->optionExists('card_2', 2)->isSelected());
 
     // Submit form: select only first option.
     $edit = ['card_2[]' => [0 => 0]];
@@ -376,9 +376,9 @@ public function testSelectListMultiple() {
 
     // Display form: check that the right options are selected.
     $this->drupalGet('entity_test/manage/' . $entity->id() . '/edit');
-    $this->assertOptionSelected('edit-card-2', 0);
-    $this->assertNoOptionSelected('edit-card-2', 1);
-    $this->assertNoOptionSelected('edit-card-2', 2);
+    $this->assertTrue($this->assertSession()->optionExists('card_2', 0)->isSelected());
+    $this->assertFalse($this->assertSession()->optionExists('card_2', 1)->isSelected());
+    $this->assertFalse($this->assertSession()->optionExists('card_2', 2)->isSelected());
 
     // Submit form: select the three options while the field accepts only 2.
     $edit = ['card_2[]' => [0 => 0, 1 => 1, 2 => 2]];
@@ -423,9 +423,9 @@ public function testSelectListMultiple() {
 
     // Display form: with no field data, nothing is selected.
     $this->drupalGet('entity_test/manage/' . $entity->id() . '/edit');
-    $this->assertNoOptionSelected('edit-card-2', 0);
-    $this->assertNoOptionSelected('edit-card-2', 1);
-    $this->assertNoOptionSelected('edit-card-2', 2);
+    $this->assertFalse($this->assertSession()->optionExists('card_2', 0)->isSelected());
+    $this->assertFalse($this->assertSession()->optionExists('card_2', 1)->isSelected());
+    $this->assertFalse($this->assertSession()->optionExists('card_2', 2)->isSelected());
     $this->assertRaw('Some dangerous & unescaped markup', 'Option text was properly filtered.');
     $this->assertRaw('More <script>dangerous</script> markup', 'Option group text was properly filtered.');
     $this->assertRaw('Group 1', 'Option groups are displayed.');
@@ -437,9 +437,9 @@ public function testSelectListMultiple() {
 
     // Display form: check that the right options are selected.
     $this->drupalGet('entity_test/manage/' . $entity->id() . '/edit');
-    $this->assertOptionSelected('edit-card-2', 0);
-    $this->assertNoOptionSelected('edit-card-2', 1);
-    $this->assertNoOptionSelected('edit-card-2', 2);
+    $this->assertTrue($this->assertSession()->optionExists('card_2', 0)->isSelected());
+    $this->assertFalse($this->assertSession()->optionExists('card_2', 1)->isSelected());
+    $this->assertFalse($this->assertSession()->optionExists('card_2', 2)->isSelected());
 
     // Submit form: Unselect the option.
     $edit = ['card_2[]' => ['_none' => '_none']];
@@ -487,7 +487,7 @@ public function testEmptyValue() {
     // Display form: check that _none options are present and has label.
     $this->drupalGet('entity_test/manage/' . $entity->id() . '/edit');
     // A required field without any value has a "none" option.
-    $this->assertTrue($this->xpath('//select[@id=:id]//option[@value="_none" and text()=:label]', [':id' => 'edit-card-1', ':label' => t('- None -')]), 'A test select has a "None" choice.');
+    $this->assertTrue($this->xpath('//select[@id=:id]//option[@value="_none" and text()=:label]', [':id' => 'edit-card-1', ':label' => '- None -']), 'A test select has a "None" choice.');
   }
 
 }