diff --git a/modules/entity_form/src/Tests/InlineEntityIntegrationTest.php b/modules/entity_form/src/Tests/InlineEntityIntegrationTest.php
index 6ae5b79..a7ac496 100644
--- a/modules/entity_form/src/Tests/InlineEntityIntegrationTest.php
+++ b/modules/entity_form/src/Tests/InlineEntityIntegrationTest.php
@@ -2,14 +2,14 @@
 
 namespace Drupal\entity_browser_entity_form\Tests;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests integration with Inline entity form.
  *
  * @group entity_browser_entity_form
  */
-class InlineEntityIntegrationTest extends WebTestBase {
+class InlineEntityIntegrationTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
@@ -48,29 +48,29 @@ class InlineEntityIntegrationTest extends WebTestBase {
       'fields[field_content_reference][region]' => 'content',
       'fields[field_content_reference][type]' => 'inline_entity_form_complex',
     ];
-    $this->drupalPostForm(NULL, $edit, t('Save'));
-    $this->drupalPostAjaxForm(NULL, [], 'field_content_reference_settings_edit');
-    $this->assertRaw('fields[field_content_reference][settings_edit_form][third_party_settings][entity_browser_entity_form][entity_browser_id]', 'Field to select entity browser is available.');
+    $this->drupalPostForm(NULL, $edit, 'Save');
+    $this->drupalPostForm(NULL, [], 'field_content_reference_settings_edit');
+    $this->assertSession()->responseContains('fields[field_content_reference][settings_edit_form][third_party_settings][entity_browser_entity_form][entity_browser_id]', 'Field to select entity browser is available.');
     $edit = [
       'fields[field_content_reference][settings_edit_form][third_party_settings][entity_browser_entity_form][entity_browser_id]' => 'entity_browser_entity_form_test',
       'fields[field_content_reference][settings_edit_form][settings][allow_existing]' => TRUE,
     ];
-    $this->drupalPostAjaxForm(NULL, $edit, 'field_content_reference_plugin_settings_update');
-    $this->drupalPostForm(NULL, [], t('Save'));
-    $this->assertText('Entity browser: Entity browser entity form test', 'Settings summary is working correctly.');
+    $this->drupalPostForm(NULL, $edit, 'field_content_reference_plugin_settings_update');
+    $this->drupalPostForm(NULL, [], 'Save');
+    $this->assertSession()->responseContains('Entity browser: Entity browser entity form test', 'Settings summary is working correctly.');
 
     $this->drupalGet('node/add');
     $elements = $this->xpath('//input[@type="submit" and @value="Add existing node"]');
     $button_name = $elements[0]->attributes()['name'];
-    $this->drupalPostAjaxForm(NULL, [], $button_name);
-    $this->assertLink('Select entities', 0, 'Entity browser is available.');
+    $this->drupalPostForm(NULL, [], $button_name);
+    $this->assertSession()->linkExists('Select entities', 0, 'Entity browser is available.');
 
     $browsers = $this->container->get('entity_type.manager')->getStorage('entity_browser')->loadMultiple();
     $browser = current($browsers);
     $this->container->get('entity_type.manager')->getStorage('entity_browser')->delete([$browser]);
     $this->drupalGet('admin/structure/types/manage/article/form-display');
-    $this->drupalPostAjaxForm(NULL, [], 'field_content_reference_settings_edit');
-    $this->assertText(t('There are no entity browsers available. You can create one here'), 'Massage displays when no entity browser is available.');
+    $this->drupalPostForm(NULL, [], 'field_content_reference_settings_edit');
+    $this->assertSession()->responseContains('There are no entity browsers available. You can create one here', 'Massage displays when no entity browser is available.');
   }
 
 }
diff --git a/src/Tests/ConfigUITest.php b/src/Tests/ConfigUITest.php
index 3358439..98ba2a8 100644
--- a/src/Tests/ConfigUITest.php
+++ b/src/Tests/ConfigUITest.php
@@ -5,14 +5,14 @@ namespace Drupal\entity_browser\Tests;
 use Drupal\entity_browser\Plugin\EntityBrowser\Display\IFrame;
 use Drupal\entity_browser\Plugin\EntityBrowser\SelectionDisplay\NoDisplay;
 use Drupal\entity_browser\Plugin\EntityBrowser\WidgetSelector\Tabs;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the entity browser config UI.
  *
  * @group entity_browser
  */
-class ConfigUITest extends WebTestBase {
+class ConfigUITest extends BrowserTestBase {
 
   /**
    * The test user.
@@ -47,19 +47,19 @@ class ConfigUITest extends WebTestBase {
     $this->container->get('module_installer')->install(['token']);
 
     $this->drupalGet('/admin/config/content/entity_browser');
-    $this->assertResponse(403, "Anonymous user can't access entity browser listing page.");
+    $this->assertSession()->statusCodeEquals(403, "Anonymous user can't access entity browser listing page.");
     $this->drupalGet('/admin/config/content/entity_browser/add');
-    $this->assertResponse(403, "Anonymous user can't access entity browser add form.");
+    $this->assertSession()->statusCodeEquals(403, "Anonymous user can't access entity browser add form.");
 
     // Listing is empty.
     $this->drupalLogin($this->adminUser);
     $this->drupalGet('/admin/config/content/entity_browser');
-    $this->assertResponse(200, 'Admin user is able to navigate to the entity browser listing page.');
-    $this->assertText('There are no entity browser entities yet.', 'Entity browsers table is empty.');
+    $this->assertSession()->statusCodeEquals(200, 'Admin user is able to navigate to the entity browser listing page.');
+    $this->assertSession()->responseContains('There are no entity browser entities yet.', 'Entity browsers table is empty.');
 
     // Add page.
     $this->clickLink('Add Entity browser');
-    $this->assertUrl('/admin/config/content/entity_browser/add');
+    $this->assertSession()->addressEquals('/admin/config/content/entity_browser/add');
     $edit = [
       'label' => 'Test entity browser',
       'id' => 'test_entity_browser',
@@ -70,7 +70,7 @@ class ConfigUITest extends WebTestBase {
     $this->drupalPostForm(NULL, $edit, 'Next');
 
     // Display configuration step.
-    $this->assertUrl('/admin/config/content/entity_browser/test_entity_browser/display', ['query' => ['js' => 'nojs']]);
+    $this->assertSession()->addressEquals('/admin/config/content/entity_browser/test_entity_browser/display', ['query' => ['js' => 'nojs']]);
     $edit = [
       'width' => 100,
       'height' => 100,
@@ -80,63 +80,70 @@ class ConfigUITest extends WebTestBase {
     $this->drupalPostForm(NULL, $edit, 'Next');
 
     // Widget selector step.
-    $this->assertUrl('/admin/config/content/entity_browser/test_entity_browser/widget_selector', ['query' => ['js' => 'nojs']]);
-    $this->assertText('This plugin has no configuration options.');
+    $this->assertSession()->addressEquals('/admin/config/content/entity_browser/test_entity_browser/widget_selector', ['query' => ['js' => 'nojs']]);
+    $this->assertSession()->responseContains('This plugin has no configuration options.');
     $this->drupalPostForm(NULL, [], 'Next');
 
     // Selection display step.
-    $this->assertUrl('/admin/config/content/entity_browser/test_entity_browser/selection_display', ['query' => ['js' => 'nojs']]);
-    $this->assertText('This plugin has no configuration options.');
+    $this->assertSession()->addressEquals('/admin/config/content/entity_browser/test_entity_browser/selection_display', ['query' => ['js' => 'nojs']]);
+    $this->assertSession()->responseContains('This plugin has no configuration options.');
     $this->drupalPostForm(NULL, [], 'Previous');
 
     // Widget selector step again.
-    $this->assertUrl('/admin/config/content/entity_browser/test_entity_browser/widget_selector', ['query' => ['js' => 'nojs']]);
-    $this->assertText('This plugin has no configuration options.');
+    $this->assertSession()->addressEquals('/admin/config/content/entity_browser/test_entity_browser/widget_selector', ['query' => ['js' => 'nojs']]);
+    $this->assertSession()->responseContains('This plugin has no configuration options.');
     $this->drupalPostForm(NULL, [], 'Next');
 
     // Selection display step.
-    $this->assertUrl('/admin/config/content/entity_browser/test_entity_browser/selection_display', ['query' => ['js' => 'nojs']]);
-    $this->assertText('This plugin has no configuration options.');
+    $this->assertSession()->addressEquals('/admin/config/content/entity_browser/test_entity_browser/selection_display', ['query' => ['js' => 'nojs']]);
+    $this->assertSession()->responseContains('This plugin has no configuration options.');
     $this->drupalPostForm(NULL, [], 'Next');
 
     // Widgets step.
-    $this->assertUrl('/admin/config/content/entity_browser/test_entity_browser/widgets', ['query' => ['js' => 'nojs']]);
-    $this->assertText('The available plugins are:');
-    $this->assertText("Upload: Adds an upload field browser's widget.");
-    $this->assertText("View: Uses a view to provide entity listing in a browser's widget.");
-    $this->assertText("Entity form: Provides entity form widget.");
-    $this->drupalPostAjaxForm(NULL, ['widget' => 'upload'], 'widget');
-    $this->assertText('Label (Upload)');
-    $this->assertText('You can use tokens in the upload location.');
-    $this->assertLink('Browse available tokens.');
+    $this->assertSession()->addressEquals('/admin/config/content/entity_browser/test_entity_browser/widgets', ['query' => ['js' => 'nojs']]);
+    $this->assertSession()->responseContains('The available plugins are:');
+    $this->assertSession()->responseContains("Upload: Adds an upload field browser's widget.");
+    $this->assertSession()->responseContains("View: Uses a view to provide entity listing in a browser's widget.");
+    $this->assertSession()->responseContains("Entity form: Provides entity form widget.");
+    $this->drupalPostForm(NULL, ['widget' => 'upload'], 'widget');
+    $this->assertSession()->responseContains('Label (Upload)');
+    $this->assertSession()->responseContains('You can use tokens in the upload location.');
+    $this->assertSession()->linkExists('Browse available tokens.');
 
     // Make sure that removing of widgets works.
-    $this->drupalPostAjaxForm(NULL, ['widget' => 'view'], 'widget');
-    $this->assertText('Label (View)');
-    $this->assertText('View : View display', 'View selection dropdown label found.');
-    $this->assertRaw('- Select a view -', 'Empty option appears in the view selection dropdown.');
-    $this->assertText('Submit button text', 'Widget submit button text element found.');
-    $this->assertFieldByXPath('//*[starts-with(@data-drupal-selector, "edit-table-") and contains(@data-drupal-selector, "-form-submit-text")]', 'Select entities', 'Widget submit button text element found.');
+    $this->drupalPostForm(NULL, ['widget' => 'view'], 'widget');
+    $this->assertSession()->responseContains('Label (View)');
+    $this->assertSession()->responseContains('View : View display', 'View selection dropdown label found.');
+    $this->assertSession()->responseContains('- Select a view -', 'Empty option appears in the view selection dropdown.');
+    $this->assertSession()->responseContains('Submit button text', 'Widget submit button text element found.');
+
+    $fields = $this->xpath('//*[starts-with(@data-drupal-selector, "edit-table-") and contains(@data-drupal-selector, "-form-submit-text")]');
+    $this->assertFieldsByValue($fields, 'Select entities', 'Widget submit button text element found.');
+    
     $delete_buttons = $this->xpath("//input[@value='Delete']");
     $delete_button_name = (string) $delete_buttons[1]->attributes()['name'];
-    $this->drupalPostAjaxForm(NULL, [], [$delete_button_name => 'Delete']);
-    $this->assertNoText('View : View display', 'View widget was removed.');
-    $this->assertNoRaw('- Select a view -', 'View widget was removed.');
-    $this->assertEqual(count($this->xpath("//input[@value='Delete']")), 1, 'Only one delete button appears on the page.');
+    $this->drupalPostForm(NULL, [], [$delete_button_name => 'Delete']);
+    $this->assertSession()->responseNotContains('View : View display', 'View widget was removed.');
+    $this->assertSession()->responseNotContains('- Select a view -', 'View widget was removed.');
+    $this->assertEquals(count($this->xpath("//input[@value='Delete']")), 1, 'Only one delete button appears on the page.');
 
     // Make sure the "Entity form" widget has all available config elements.
-    $this->drupalPostAjaxForm(NULL, ['widget' => 'entity_form'], 'widget');
-    $this->assertText('Label (Entity form)');
-    $this->assertText('Entity type', 'Entity type select found on IEF widget.');
-    $this->assertText('Bundle', 'Bundle select found on IEF widget.');
-    $this->assertText('Form mode', 'Form mode select found on IEF widget.');
-    $this->assertFieldByXPath('//*[starts-with(@data-drupal-selector, "edit-table-") and contains(@data-drupal-selector, "-form-submit-text")]', 'Save entity', 'Widget submit button text element found.');
+    $this->drupalPostForm(NULL, ['widget' => 'entity_form'], 'widget');
+    $this->assertSession()->responseContains('Label (Entity form)');
+    $this->assertSession()->responseContains('Entity type', 'Entity type select found on IEF widget.');
+    $this->assertSession()->responseContains('Bundle', 'Bundle select found on IEF widget.');
+    $this->assertSession()->responseContains('Form mode', 'Form mode select found on IEF widget.');
+
+    $fields = $this->xpath('//*[starts-with(@data-drupal-selector, "edit-table-") and contains(@data-drupal-selector, "-form-submit-text")]');
+
+    $this->assertFieldsByValue($fields, 'Save entity', 'Widget submit button text element found.');
+
     $entity_type_element = $this->xpath('//*[starts-with(@data-drupal-selector, "edit-table-") and contains(@data-drupal-selector, "-form-entity-type")]');
     $entity_type_name = (string) $entity_type_element[0]['name'];
     $edit = [
       $entity_type_name => 'user',
     ];
-    $commands = $this->drupalPostAjaxForm(NULL, $edit, $entity_type_name);
+    $commands = $this->drupalPostForm(NULL, $edit, $entity_type_name);
     // WebTestBase::drupalProcessAjaxResponse() won't correctly execute our ajax
     // commands so we have to do it manually. Code below is based on the logic
     // in that function.
@@ -160,7 +167,7 @@ class ConfigUITest extends WebTestBase {
     $form_mode_element = $this->xpath('//*[starts-with(@data-drupal-selector, "edit-table-") and contains(@data-drupal-selector, "-form-form-mode-form-select")]');
     $form_mode_id = (string) $form_mode_element[0]['id'];
     $form_mode_name = (string) $form_mode_element[0]['name'];
-    $this->assertOption($form_mode_id, 'register', 'A non-default form mode is correctly available to be chosen.');
+    $this->assertSession()->optionExists($form_mode_id, 'register', 'A non-default form mode is correctly available to be chosen.');
     $bundle_element = $this->xpath('//*[starts-with(@data-drupal-selector, "edit-table-") and contains(@data-drupal-selector, "-form-bundle-select")]');
     $bundle_name = (string) $bundle_element[0]['name'];
     $submit_text_element = $this->xpath('//*[starts-with(@data-drupal-selector, "edit-table-") and contains(@data-drupal-selector, "-form-submit-text")]');
@@ -174,17 +181,17 @@ class ConfigUITest extends WebTestBase {
     $this->drupalPostForm(NULL, $edit, 'Finish');
 
     // Back on listing page.
-    $this->assertUrl('/admin/config/content/entity_browser');
-    $this->assertText('Test entity browser', 'Entity browser label found on the listing page');
-    $this->assertText('test_entity_browser', 'Entity browser ID found on the listing page.');
+    $this->assertSession()->addressEquals('/admin/config/content/entity_browser');
+    $this->assertSession()->responseContains('Test entity browser', 'Entity browser label found on the listing page');
+    $this->assertSession()->responseContains('test_entity_browser', 'Entity browser ID found on the listing page.');
 
     // Check structure of entity browser object.
     /** @var \Drupal\entity_browser\EntityBrowserInterface $loaded_entity_browser */
     $loaded_entity_browser = $this->container->get('entity_type.manager')
       ->getStorage('entity_browser')
       ->load('test_entity_browser');
-    $this->assertEqual('test_entity_browser', $loaded_entity_browser->id(), 'Entity browser ID was correctly saved.');
-    $this->assertEqual('Test entity browser', $loaded_entity_browser->label(), 'Entity browser label was correctly saved.');
+    $this->assertEquals('test_entity_browser', $loaded_entity_browser->id(), 'Entity browser ID was correctly saved.');
+    $this->assertEquals('Test entity browser', $loaded_entity_browser->label(), 'Entity browser label was correctly saved.');
     $this->assertTrue($loaded_entity_browser->getDisplay() instanceof IFrame, 'Entity browser display was correctly saved.');
     $expected = [
       'width' => '100',
@@ -192,11 +199,11 @@ class ConfigUITest extends WebTestBase {
       'link_text' => 'All animals are created equal',
       'auto_open' => TRUE,
     ];
-    $this->assertEqual($expected, $loaded_entity_browser->getDisplay()->getConfiguration(), 'Entity browser display configuration was correctly saved.');
+    $this->assertEquals($expected, $loaded_entity_browser->getDisplay()->getConfiguration(), 'Entity browser display configuration was correctly saved.');
     $this->assertTrue($loaded_entity_browser->getSelectionDisplay() instanceof NoDisplay, 'Entity browser selection display was correctly saved.');
-    $this->assertEqual([], $loaded_entity_browser->getSelectionDisplay()->getConfiguration(), 'Entity browser selection display configuration was correctly saved.');
-    $this->assertEqual($loaded_entity_browser->getWidgetSelector() instanceof Tabs, 'Entity browser widget selector was correctly saved.');
-    $this->assertEqual([], $loaded_entity_browser->getWidgetSelector()->getConfiguration(), 'Entity browser widget selector configuration was correctly saved.');
+    $this->assertEquals([], $loaded_entity_browser->getSelectionDisplay()->getConfiguration(), 'Entity browser selection display configuration was correctly saved.');
+    $this->assertEquals($loaded_entity_browser->getWidgetSelector() instanceof Tabs, 'Entity browser widget selector was correctly saved.');
+    $this->assertEquals([], $loaded_entity_browser->getWidgetSelector()->getConfiguration(), 'Entity browser widget selector configuration was correctly saved.');
 
     $widgets = $loaded_entity_browser->getWidgets();
     $instance_ids = $widgets->getInstanceIds();
@@ -204,54 +211,58 @@ class ConfigUITest extends WebTestBase {
     $second_uuid = next($instance_ids);
     /** @var \Drupal\entity_browser\WidgetInterface $widget */
     $widget = $widgets->get($first_uuid);
-    $this->assertEqual('upload', $widget->id(), 'Entity browser widget was correctly saved.');
-    $this->assertEqual($first_uuid, $widget->uuid(), 'Entity browser widget uuid was correctly saved.');
+    $this->assertEquals('upload', $widget->id(), 'Entity browser widget was correctly saved.');
+    $this->assertEquals($first_uuid, $widget->uuid(), 'Entity browser widget uuid was correctly saved.');
     $configuration = $widget->getConfiguration()['settings'];
-    $this->assertEqual([
+    $this->assertEquals([
       'upload_location' => 'public://',
       'multiple' => TRUE,
       'submit_text' => 'Select files',
       'extensions' => 'jpg jpeg gif png txt doc xls pdf ppt pps odt ods odp',
     ], $configuration, 'Entity browser widget configuration was correctly saved.');
-    $this->assertEqual(1, $widget->getWeight(), 'Entity browser widget weight was correctly saved.');
+    $this->assertEquals(1, $widget->getWeight(), 'Entity browser widget weight was correctly saved.');
     $widget = $widgets->get($second_uuid);
-    $this->assertEqual('entity_form', $widget->id(), 'Entity browser widget was correctly saved.');
-    $this->assertEqual($second_uuid, $widget->uuid(), 'Entity browser widget uuid was correctly saved.');
+    $this->assertEquals('entity_form', $widget->id(), 'Entity browser widget was correctly saved.');
+    $this->assertEquals($second_uuid, $widget->uuid(), 'Entity browser widget uuid was correctly saved.');
     $configuration = $widget->getConfiguration()['settings'];
-    $this->assertEqual([
+    $this->assertEquals([
       'entity_type' => 'user',
       'bundle' => 'user',
       'form_mode' => 'register',
       'submit_text' => 'But some are more equal than others',
     ], $configuration, 'Entity browser widget configuration was correctly saved.');
-    $this->assertEqual(2, $widget->getWeight(), 'Entity browser widget weight was correctly saved.');
+    $this->assertEquals(2, $widget->getWeight(), 'Entity browser widget weight was correctly saved.');
 
     // Navigate to edit.
     $this->clickLink('Edit');
-    $this->assertUrl('/admin/config/content/entity_browser/test_entity_browser');
-    $this->assertFieldById('edit-label', 'Test entity browser', 'Correct label found.');
-    $this->assertText('test_entity_browser', 'Correct id found.');
-    $this->assertOptionSelected('edit-display', 'iframe', 'Correct display selected.');
-    $this->assertOptionSelected('edit-widget-selector', 'tabs', 'Correct widget selector selected.');
-    $this->assertOptionSelected('edit-selection-display', 'no_display', 'Correct selection display selected.');
+    $this->assertSession()->addressEquals('/admin/config/content/entity_browser/test_entity_browser');
+    $this->assertFieldByXPath($this->constructFieldXpath('id', 'edit-label'), 'Test entity browser', 'Correct label found.');
+    $this->assertSession()->responseContains('test_entity_browser', 'Correct id found.');
+
+    $option_field = $this->assertSession()->optionExists('edit-display', 'iframe');
+    $this->assertTrue($option_field->hasAttribute('selected'), 'Correct display selected.');
+    $option_field = $this->assertSession()->optionExists('edit-widget-selector', 'tabs');
+    $this->assertTrue($option_field->hasAttribute('selected'), 'Correct widget selector selected.');
+    $option_field = $this->assertSession()->optionExists('edit-selection-display', 'no_display');
+    $this->assertTrue($option_field->hasAttribute('selected'), 'Correct selection display selected.');
 
     $this->drupalPostForm(NULL, [], 'Next');
-    $this->assertUrl('/admin/config/content/entity_browser/test_entity_browser/display', ['query' => ['js' => 'nojs']]);
-    $this->assertFieldById('edit-width', '100', 'Correct value for width found.');
-    $this->assertFieldById('edit-height', '100', 'Correct value for height found.');
-    $this->assertFieldById('edit-link-text', 'All animals are created equal', 'Correct value for link text found.');
+    $this->assertSession()->addressEquals('/admin/config/content/entity_browser/test_entity_browser/display', ['query' => ['js' => 'nojs']]);
+    $this->assertFieldByXPath($this->constructFieldXpath('id', 'edit-width'), '100');
+    $this->assertFieldByXPath($this->constructFieldXpath('id', 'edit-height'), '100');
+    $this->assertFieldByXPath($this->constructFieldXpath('id', 'edit-link-text'), 'All animals are created equal');
     $this->assertFieldChecked('edit-auto-open', 'Auto open is enabled.');
 
     $this->drupalPostForm(NULL, [], 'Next');
-    $this->assertUrl('/admin/config/content/entity_browser/test_entity_browser/widget_selector', ['query' => ['js' => 'nojs']]);
+    $this->assertSession()->addressEquals('/admin/config/content/entity_browser/test_entity_browser/widget_selector', ['query' => ['js' => 'nojs']]);
 
     $this->drupalPostForm(NULL, [], 'Next');
-    $this->assertUrl('/admin/config/content/entity_browser/test_entity_browser/selection_display', ['query' => ['js' => 'nojs']]);
+    $this->assertSession()->addressEquals('/admin/config/content/entity_browser/test_entity_browser/selection_display', ['query' => ['js' => 'nojs']]);
 
     $this->drupalPostForm(NULL, [], 'Next');
     $this->assertFieldById('edit-table-' . $first_uuid . '-label', 'upload', 'Correct value for widget label found.');
     $this->assertFieldChecked('edit-table-' . $first_uuid . '-form-multiple', 'Accept multiple files option is enabled by default.');
-    $this->assertText('Multiple uploads will only be accepted if the source field allows more than one value.');
+    $this->assertSession()->responseContains('Multiple uploads will only be accepted if the source field allows more than one value.');
     $this->assertFieldById('edit-table-' . $first_uuid . '-form-upload-location', 'public://', 'Correct value for upload location found.');
     $this->assertFieldByXPath("//input[@data-drupal-selector='edit-table-" . $first_uuid . "-form-submit-text']", 'Select files', 'Correct value for submit text found.');
     $this->assertFieldById('edit-table-' . $second_uuid . '-label', 'entity_form', 'Correct value for widget label found.');
@@ -266,16 +277,16 @@ class ConfigUITest extends WebTestBase {
 
     $this->drupalLogout();
     $this->drupalGet('/admin/config/content/entity_browser/test_entity_browser');
-    $this->assertResponse(403, "Anonymous user can't access entity browser edit form.");
+    $this->assertSession()->statusCodeEquals(403, "Anonymous user can't access entity browser edit form.");
 
     $this->drupalLogin($this->adminUser);
     $this->drupalGet('/admin/config/content/entity_browser');
     $this->clickLink('Delete');
-    $this->assertText('This action cannot be undone.', 'Delete question found.');
+    $this->assertSession()->responseContains('This action cannot be undone.', 'Delete question found.');
     $this->drupalPostForm(NULL, [], 'Delete Entity Browser');
 
-    $this->assertText('Entity browser Test entity browser was deleted.', 'Confirmation message found.');
-    $this->assertText('There are no entity browser entities yet.', 'Entity browsers table is empty.');
+    $this->assertSession()->responseContains('Entity browser Test entity browser was deleted.', 'Confirmation message found.');
+    $this->assertSession()->responseContains('There are no entity browser entities yet.', 'Entity browsers table is empty.');
     $this->drupalLogout();
   }
 
diff --git a/src/Tests/EntityBrowserUITest.php b/src/Tests/EntityBrowserUITest.php
index 5e45754..d65b9d0 100644
--- a/src/Tests/EntityBrowserUITest.php
+++ b/src/Tests/EntityBrowserUITest.php
@@ -3,14 +3,14 @@
 namespace Drupal\entity_browser\Tests;
 
 use Drupal\file\Entity\File;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the entity browser UI.
  *
  * @group entity_browser
  */
-class EntityBrowserUITest extends WebTestBase {
+class EntityBrowserUITest extends BrowserTestBase {
 
   /**
    * Modules to enable.
@@ -35,14 +35,14 @@ class EntityBrowserUITest extends WebTestBase {
     $this->drupalLogin($account);
     // Go to the entity browser iframe link.
     $this->drupalGet('/entity-browser/iframe/test_entity_browser_iframe');
-    $this->assertRaw('Select');
+    $this->assertSession()->responseContains('Select');
     $this->drupalGet('/admin/config/content/entity_browser/test_entity_browser_iframe/widgets');
     $edit = [
       'table[871dbf77-012e-41cb-b32a-ada353d2de35][form][submit_text]' => 'Different',
     ];
     $this->drupalPostForm(NULL, $edit, 'Finish');
     $this->drupalGet('/entity-browser/iframe/test_entity_browser_iframe');
-    $this->assertRaw('Different');
+    $this->assertSession()->responseContains('Different');
   }
 
   /**
@@ -65,7 +65,7 @@ class EntityBrowserUITest extends WebTestBase {
     $file = File::load(1);
     // Test entity browser token that has upload location configured to
     // public://[current-user:account-name]/.
-    $this->assertEqual($file->getFileUri(), 'public://' . $account->getUsername() . '/' . $file->getFilename(), 'Image has the correct uri.');
+    $this->assertEquals($file->getFileUri(), 'public://' . $account->getUsername() . '/' . $file->getFilename(), 'Image has the correct uri.');
   }
 
 }
diff --git a/src/Tests/EntityBrowserUpdateHookTest.php b/src/Tests/EntityBrowserUpdateHookTest.php
index e33ac14..8fec3ca 100644
--- a/src/Tests/EntityBrowserUpdateHookTest.php
+++ b/src/Tests/EntityBrowserUpdateHookTest.php
@@ -2,7 +2,7 @@
 
 namespace Drupal\entity_browser\Tests;
 
-use Drupal\system\Tests\Update\UpdatePathTestBase;
+use Drupal\FunctionalTests\Update\UpdatePathTestBase;
 
 /**
  * Tests the update hooks in entity_browser module.
@@ -40,8 +40,8 @@ class EntityBrowserUpdateHookTest extends UpdatePathTestBase {
    */
   protected function doSelectionTest() {
     parent::doSelectionTest();
-    $this->assertRaw('8001 -   Updates submit text for existing Entity browsers.');
-    $this->assertRaw('8002 -   Migrates duplicated Views entity_browser_select fields.');
+    $this->assertSession()->responseContains('8001 -   Updates submit text for existing Entity browsers.');
+    $this->assertSession()->responseContains('8002 -   Migrates duplicated Views entity_browser_select fields.');
   }
 
   /**
@@ -53,7 +53,7 @@ class EntityBrowserUpdateHookTest extends UpdatePathTestBase {
       ->get('entity_browser.browser.test_update');
 
     $this->assertNull($browser->get('submit_text'), 'Old submit text is gone');
-    $this->assertEqual($browser->get('widgets.a4ad947c-9669-497c-9988-24351955a02f.settings.submit_text'), 'All animals are created equal','New submit text appears on the widget.');
+    $this->assertEquals($browser->get('widgets.a4ad947c-9669-497c-9988-24351955a02f.settings.submit_text'), 'All animals are created equal','New submit text appears on the widget.');
   }
 
   /**
@@ -64,7 +64,7 @@ class EntityBrowserUpdateHookTest extends UpdatePathTestBase {
     $view = $this->container->get('config.factory')
       ->get('views.view.test_deprecated_field');
 
-    $this->assertEqual($view->get('display.default.display_options.fields.entity_browser_select.table'), 'node', 'Data table in "entity_browser_select" replaced with data field.');
+    $this->assertEquals($view->get('display.default.display_options.fields.entity_browser_select.table'), 'node', 'Data table in "entity_browser_select" replaced with data field.');
   }
 
 }
diff --git a/src/Tests/FormElementTest.php b/src/Tests/FormElementTest.php
index 0a4ac41..d796b22 100644
--- a/src/Tests/FormElementTest.php
+++ b/src/Tests/FormElementTest.php
@@ -3,14 +3,14 @@
 namespace Drupal\entity_browser\Tests;
 
 use Drupal\entity_browser\Element\EntityBrowserElement;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the entity browser form element.
  *
  * @group entity_browser
  */
-class FormElementTest extends WebTestBase {
+class FormElementTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
@@ -56,7 +56,7 @@ class FormElementTest extends WebTestBase {
     ];
     $this->drupalPostForm(NULL, $edit, 'Submit');
     $expected = 'Selected entities: ' . $this->nodes[0]->label() . ', ' . $this->nodes[1]->label();
-    $this->assertText($expected, 'Selected entities detected.');
+    $this->assertSession()->responseContains($expected, 'Selected entities detected.');
 
     $default_entity = $this->nodes[0]->getEntityTypeId() . ':' . $this->nodes[0]->id();
     $this->drupalGet('/test-element', ['query' => ['default_entity' => $default_entity, 'selection_mode' => EntityBrowserElement::SELECTION_MODE_EDIT]]);
@@ -68,7 +68,7 @@ class FormElementTest extends WebTestBase {
     ];
     $this->drupalPostForm(NULL, $edit, 'Submit');
     $expected = 'Selected entities: ' . $this->nodes[1]->label() . ', ' . $this->nodes[0]->label();
-    $this->assertText($expected, 'Selected entities detected.');
+    $this->assertSession()->responseContains($expected, 'Selected entities detected.');
   }
 
 }
diff --git a/src/Tests/MultistepDisplayTest.php b/src/Tests/MultistepDisplayTest.php
index 1d91a5d..ecad4ba 100644
--- a/src/Tests/MultistepDisplayTest.php
+++ b/src/Tests/MultistepDisplayTest.php
@@ -2,14 +2,14 @@
 
 namespace Drupal\entity_browser\Tests;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the multistep display selection display.
  *
  * @group entity_browser
  */
-class MultistepDisplayTest extends WebTestBase {
+class MultistepDisplayTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
@@ -47,10 +47,10 @@ class MultistepDisplayTest extends WebTestBase {
     $this->drupalPostForm(NULL, [], 'Next');
     $this->drupalPostForm(NULL, [], 'Next');
 
-    $this->assertText('Selection display', 'Trail is shown.');
-    $this->assertText('Select button text', 'Title is correct.');
-    $this->assertText('Text to display on the entity browser select button.', 'Description is correct.');
-    $this->assertRaw('Use selected', 'Default text is correct.');
+    $this->assertSession()->responseContains('Selection display', 'Trail is shown.');
+    $this->assertSession()->responseContains('Select button text', 'Title is correct.');
+    $this->assertSession()->responseContains('Text to display on the entity browser select button.', 'Description is correct.');
+    $this->assertSession()->responseContains('Use selected', 'Default text is correct.');
     $edit = [
       'entity_type' => 'file',
       'display' => 'label',
@@ -58,7 +58,7 @@ class MultistepDisplayTest extends WebTestBase {
       'select_text' => 'Use blah selected',
     ];
     $this->drupalPostForm(NULL, $edit, 'Next');
-    $this->drupalPostAjaxForm(NULL, ['widget' => 'upload'], 'widget');
+    $this->drupalPostForm(NULL, ['widget' => 'upload'], 'widget');
     $this->drupalPostForm(NULL, [], 'Finish');
 
     $account = $this->drupalCreateUser([
@@ -67,14 +67,14 @@ class MultistepDisplayTest extends WebTestBase {
     $this->drupalLogin($account);
     // Go to the entity browser iframe link.
     $this->drupalGet('/entity-browser/iframe/test_entity_browser');
-    $this->assertNoRaw('Use blah selected');
+    $this->assertSession()->responseNotContains('Use blah selected');
 
     $image = current($this->drupalGetTestFiles('image'));
     $edit = [
       'files[upload][]' => $this->container->get('file_system')->realpath($image->uri),
     ];
     $this->drupalPostForm(NULL, $edit, 'Select files');
-    $this->assertRaw('Use blah selected', 'Select button is displayed if something is selected.');
+    $this->assertSession()->responseContains('Use blah selected', 'Select button is displayed if something is selected.');
   }
 
 }
