diff --git a/core/modules/user/src/Tests/UserAccountLinksTest.php b/core/modules/user/tests/src/Functional/UserAccountLinksTest.php
similarity index 95%
rename from core/modules/user/src/Tests/UserAccountLinksTest.php
rename to core/modules/user/tests/src/Functional/UserAccountLinksTest.php
index 15a4b20..c09fc34 100644
--- a/core/modules/user/src/Tests/UserAccountLinksTest.php
+++ b/core/modules/user/tests/src/Functional/UserAccountLinksTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests user-account links.
  *
  * @group user
  */
-class UserAccountLinksTest extends WebTestBase {
+class UserAccountLinksTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
@@ -89,7 +89,7 @@ public function testDisabledAccountLink() {
     // the consistent label text.
     $this->drupalGet('admin/structure/menu/manage/account');
     $label = $this->xpath('//label[contains(.,:text)]/@for', [':text' => 'Enable My account menu link']);
-    $this->assertFieldChecked((string) $label[0], "The 'My account' link is enabled by default.");
+    $this->assertFieldChecked($label[0]->getText(), "The 'My account' link is enabled by default.");
 
     // Disable the 'My account' link.
     $edit['links[menu_plugin_id:user.page][enabled]'] = FALSE;
diff --git a/core/modules/user/src/Tests/UserAdminListingTest.php b/core/modules/user/tests/src/Functional/UserAdminListingTest.php
similarity index 80%
rename from core/modules/user/src/Tests/UserAdminListingTest.php
rename to core/modules/user/tests/src/Functional/UserAdminListingTest.php
index 9ec9506..9f571bc 100644
--- a/core/modules/user/src/Tests/UserAdminListingTest.php
+++ b/core/modules/user/tests/src/Functional/UserAdminListingTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\user\Entity\User;
 
 /**
@@ -11,7 +11,7 @@
  * @group user
  * @see user_admin_account()
  */
-class UserAdminListingTest extends WebTestBase {
+class UserAdminListingTest extends BrowserTestBase {
 
   /**
    * Tests the listing.
@@ -62,20 +62,24 @@ public function testUserListing() {
 
     $result = $this->xpath('//table[contains(@class, "responsive-enabled")]/tbody/tr');
     $result_accounts = [];
-    foreach ($result as $account) {
-      $name = (string) $account->td[0]->span;
+    foreach ($result as $key => $account) {
+      $xpath_key = $key + 1;
+      $account_columns = $this->xpath("//table/tbody/tr[$xpath_key]/td");
+      $name = $account_columns[0]->getText();
       $roles = [];
-      if (isset($account->td[2]->div->ul)) {
-        foreach ($account->td[2]->div->ul->li as $element) {
-          $roles[] = (string) $element;
+      $account_roles = $this->xpath("//table/tbody/tr[$xpath_key]/td/div/ul/li");
+      if (!empty($account_roles)) {
+        foreach ($account_roles as $element) {
+          $roles[] = $element->getText();
         }
       }
+
       $result_accounts[$name] = [
         'name' => $name,
-        'status' => (string) $account->td[1],
+        'status' => $account_columns[1]->getHtml(),
         'roles' => $roles,
-        'member_for' => (string) $account->td[3],
-        'last_access' => (string) $account->td[4],
+        'member_for' => $account_columns[3]->getHtml(),
+        'last_access' => $account_columns[4]->getHtml(),
       ];
     }
 
diff --git a/core/modules/user/src/Tests/UserAdminTest.php b/core/modules/user/tests/src/Functional/UserAdminTest.php
similarity index 94%
rename from core/modules/user/src/Tests/UserAdminTest.php
rename to core/modules/user/tests/src/Functional/UserAdminTest.php
index f3ee85a..0130b0c 100644
--- a/core/modules/user/src/Tests/UserAdminTest.php
+++ b/core/modules/user/tests/src/Functional/UserAdminTest.php
@@ -1,8 +1,9 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Core\Test\AssertMailTrait;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\user\RoleInterface;
 
 /**
@@ -10,7 +11,11 @@
  *
  * @group user
  */
-class UserAdminTest extends WebTestBase {
+class UserAdminTest extends BrowserTestBase {
+
+  use AssertMailTrait {
+    getMails as drupalGetMails;
+  }
 
   /**
    * Modules to enable.
@@ -66,12 +71,14 @@ public function testUserAdmin() {
     $this->drupalGet('admin/people', ['query' => ['user' => $user_a->getUsername()]]);
     $result = $this->xpath('//table/tbody/tr');
     $this->assertEqual(1, count($result), 'Filter by username returned the right amount.');
-    $this->assertEqual($user_a->getUsername(), (string) $result[0]->td[1]->span, 'Filter by username returned the right user.');
+    $span = $this->xpath('//table/tbody/tr/td[2]/span');
+    $this->assertEqual($user_a->getUsername(), $span[0]->getText(), 'Filter by username returned the right user.');
 
     $this->drupalGet('admin/people', ['query' => ['user' => $user_a->getEmail()]]);
     $result = $this->xpath('//table/tbody/tr');
     $this->assertEqual(1, count($result), 'Filter by username returned the right amount.');
-    $this->assertEqual($user_a->getUsername(), (string) $result[0]->td[1]->span, 'Filter by username returned the right user.');
+    $span2 = $this->xpath('//table/tbody/tr/td[2]/span');
+    $this->assertEqual($user_a->getUsername(), $span2[0]->getText(), 'Filter by username returned the right user.');
 
     // Filter the users by permission 'administer taxonomy'.
     $this->drupalGet('admin/people', ['query' => ['permission' => 'administer taxonomy']]);
diff --git a/core/modules/user/src/Tests/UserEditTest.php b/core/modules/user/tests/src/Functional/UserEditTest.php
similarity index 96%
rename from core/modules/user/src/Tests/UserEditTest.php
rename to core/modules/user/tests/src/Functional/UserEditTest.php
index 6f1e369..0f75ff8 100644
--- a/core/modules/user/src/Tests/UserEditTest.php
+++ b/core/modules/user/tests/src/Functional/UserEditTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests user edit page.
  *
  * @group user
  */
-class UserEditTest extends WebTestBase {
+class UserEditTest extends BrowserTestBase {
 
   /**
    * Test user edit page.
@@ -51,7 +51,7 @@ public function testUserEdit() {
     $this->drupalPostForm("user/" . $user1->id() . "/edit", $edit, t('Save'));
     $this->assertRaw(t("Your current password is missing or incorrect; it's required to change the %name.", ['%name' => t('Email')]));
 
-    $edit['current_pass'] = $user1->pass_raw;
+    $edit['current_pass'] = $user1->passRaw;
     $this->drupalPostForm("user/" . $user1->id() . "/edit", $edit, t('Save'));
     $this->assertRaw(t("The changes have been saved."));
 
@@ -63,7 +63,7 @@ public function testUserEdit() {
     $this->assertRaw(t("Your current password is missing or incorrect; it's required to change the %name.", ['%name' => t('Password')]));
 
     // Try again with the current password.
-    $edit['current_pass'] = $user1->pass_raw;
+    $edit['current_pass'] = $user1->passRaw;
     $this->drupalPostForm("user/" . $user1->id() . "/edit", $edit, t('Save'));
     $this->assertRaw(t("The changes have been saved."));
 
@@ -72,7 +72,7 @@ public function testUserEdit() {
 
     // Make sure the user can log in with their new password.
     $this->drupalLogout();
-    $user1->pass_raw = $new_pass;
+    $user1->passRaw = $new_pass;
     $this->drupalLogin($user1);
     $this->drupalLogout();
 
diff --git a/core/modules/user/src/Tests/UserLanguageCreationTest.php b/core/modules/user/tests/src/Functional/UserLanguageCreationTest.php
similarity index 93%
rename from core/modules/user/src/Tests/UserLanguageCreationTest.php
rename to core/modules/user/tests/src/Functional/UserLanguageCreationTest.php
index 0dd2907..997232d 100644
--- a/core/modules/user/src/Tests/UserLanguageCreationTest.php
+++ b/core/modules/user/tests/src/Functional/UserLanguageCreationTest.php
@@ -1,9 +1,9 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
 use Drupal\language\Entity\ConfigurableLanguage;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests whether proper language is stored for new users and access to language
@@ -11,7 +11,7 @@
  *
  * @group user
  */
-class UserLanguageCreationTest extends WebTestBase {
+class UserLanguageCreationTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
@@ -87,10 +87,10 @@ public function testLocalUserCreation() {
     $this->assertOptionSelected("edit-preferred-langcode", $langcode, 'Language selector is accessible and correct language is selected.');
 
     // Set pass_raw so we can log in the new user.
-    $user->pass_raw = $this->randomMachineName(10);
+    $user->passRaw = $this->randomMachineName(10);
     $edit = [
-      'pass[pass1]' => $user->pass_raw,
-      'pass[pass2]' => $user->pass_raw,
+      'pass[pass1]' => $user->passRaw,
+      'pass[pass2]' => $user->passRaw,
     ];
 
     $this->drupalPostForm($user_edit, $edit, t('Save'));
diff --git a/core/modules/user/src/Tests/UserLoginTest.php b/core/modules/user/tests/src/Functional/UserLoginTest.php
similarity index 93%
rename from core/modules/user/src/Tests/UserLoginTest.php
rename to core/modules/user/tests/src/Functional/UserLoginTest.php
index d92c1c7..3021bc8 100644
--- a/core/modules/user/src/Tests/UserLoginTest.php
+++ b/core/modules/user/tests/src/Functional/UserLoginTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\user\Entity\User;
 
 /**
@@ -10,7 +10,7 @@
  *
  * @group user
  */
-class UserLoginTest extends WebTestBase {
+class UserLoginTest extends BrowserTestBase {
 
   /**
    * Tests login with destination.
@@ -23,7 +23,7 @@ public function testLoginCacheTagsAndDestination() {
 
     $user = $this->drupalCreateUser([]);
     $this->drupalGet('user/login', ['query' => ['destination' => 'foo']]);
-    $edit = ['name' => $user->getUserName(), 'pass' => $user->pass_raw];
+    $edit = ['name' => $user->getUserName(), 'pass' => $user->passRaw];
     $this->drupalPostForm(NULL, $edit, t('Log in'));
     $this->assertUrl('foo', [], 'Redirected to the correct URL');
   }
@@ -40,7 +40,7 @@ public function testGlobalLoginFloodControl() {
 
     $user1 = $this->drupalCreateUser([]);
     $incorrect_user1 = clone $user1;
-    $incorrect_user1->pass_raw .= 'incorrect';
+    $incorrect_user1->passRaw .= 'incorrect';
 
     // Try 2 failed logins.
     for ($i = 0; $i < 2; $i++) {
@@ -77,7 +77,7 @@ public function testPerUserLoginFloodControl() {
 
     $user1 = $this->drupalCreateUser([]);
     $incorrect_user1 = clone $user1;
-    $incorrect_user1->pass_raw .= 'incorrect';
+    $incorrect_user1->passRaw .= 'incorrect';
 
     $user2 = $this->drupalCreateUser([]);
 
@@ -117,7 +117,7 @@ public function testPasswordRehashOnLogin() {
 
     // Create a new user and authenticate.
     $account = $this->drupalCreateUser([]);
-    $password = $account->pass_raw;
+    $password = $account->passRaw;
     $this->drupalLogin($account);
     $this->drupalLogout();
     // Load the stored user. The password hash should reflect $default_count_log2.
@@ -132,7 +132,7 @@ public function testPasswordRehashOnLogin() {
     \Drupal::service('module_installer')->install(['user_custom_phpass_params_test']);
     $this->resetAll();
 
-    $account->pass_raw = $password;
+    $account->passRaw = $password;
     $this->drupalLogin($account);
     // Load the stored user, which should have a different password hash now.
     $user_storage->resetCache([$account->id()]);
@@ -145,7 +145,7 @@ public function testPasswordRehashOnLogin() {
    * Make an unsuccessful login attempt.
    *
    * @param \Drupal\user\Entity\User $account
-   *   A user object with name and pass_raw attributes for the login attempt.
+   *   A user object with name and passRaw attributes for the login attempt.
    * @param mixed $flood_trigger
    *   (optional) Whether or not to expect that the flood control mechanism
    *    will be triggered. Defaults to NULL.
@@ -157,7 +157,7 @@ public function testPasswordRehashOnLogin() {
   public function assertFailedLogin($account, $flood_trigger = NULL) {
     $edit = [
       'name' => $account->getUsername(),
-      'pass' => $account->pass_raw,
+      'pass' => $account->passRaw,
     ];
     $this->drupalPostForm('user/login', $edit, t('Log in'));
     $this->assertNoFieldByXPath("//input[@name='pass' and @value!='']", NULL, 'Password value attribute is blank.');
diff --git a/core/modules/user/src/Tests/UserPermissionsTest.php b/core/modules/user/tests/src/Functional/UserPermissionsTest.php
similarity index 98%
rename from core/modules/user/src/Tests/UserPermissionsTest.php
rename to core/modules/user/tests/src/Functional/UserPermissionsTest.php
index 4f9e260..abec969 100644
--- a/core/modules/user/src/Tests/UserPermissionsTest.php
+++ b/core/modules/user/tests/src/Functional/UserPermissionsTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\user\RoleInterface;
 use Drupal\user\Entity\Role;
 
@@ -12,7 +12,7 @@
  *
  * @group user
  */
-class UserPermissionsTest extends WebTestBase {
+class UserPermissionsTest extends BrowserTestBase {
 
   /**
    * User with admin privileges.
diff --git a/core/modules/user/src/Tests/UserPictureTest.php b/core/modules/user/tests/src/Functional/UserPictureTest.php
similarity index 95%
rename from core/modules/user/src/Tests/UserPictureTest.php
rename to core/modules/user/tests/src/Functional/UserPictureTest.php
index d850413..401cd97 100644
--- a/core/modules/user/src/Tests/UserPictureTest.php
+++ b/core/modules/user/tests/src/Functional/UserPictureTest.php
@@ -1,17 +1,22 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
 use Drupal\image\Entity\ImageStyle;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\file\Entity\File;
+use Drupal\Tests\TestFileCreationTrait;
 
 /**
  * Tests user picture functionality.
  *
  * @group user
  */
-class UserPictureTest extends WebTestBase {
+class UserPictureTest extends BrowserTestBase {
+
+  use TestFileCreationTrait {
+    getTestFiles as drupalGetTestFiles;
+  }
 
   /**
    * The profile to install as a basis for testing.
diff --git a/core/modules/user/src/Tests/UserRoleAdminTest.php b/core/modules/user/tests/src/Functional/UserRoleAdminTest.php
similarity index 97%
rename from core/modules/user/src/Tests/UserRoleAdminTest.php
rename to core/modules/user/tests/src/Functional/UserRoleAdminTest.php
index eca9915..24dc084 100644
--- a/core/modules/user/src/Tests/UserRoleAdminTest.php
+++ b/core/modules/user/tests/src/Functional/UserRoleAdminTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\user\Entity\Role;
 use Drupal\user\RoleInterface;
 
@@ -11,7 +11,7 @@
  *
  * @group user
  */
-class UserRoleAdminTest extends WebTestBase {
+class UserRoleAdminTest extends BrowserTestBase {
 
   /**
    * User with admin privileges.
@@ -46,7 +46,7 @@ public function testRoleAdministration() {
     $this->drupalGet('admin/people/permissions');
     $tabs = $this->xpath('//ul[@class=:classes and //a[contains(., :text)]]', [
       ':classes' => 'tabs primary',
-      ':text' => t('Roles'),
+      ':text' => 'Roles',
     ]);
     $this->assertEqual(count($tabs), 1, 'Found roles tab');
 
diff --git a/core/modules/user/src/Tests/UserTimeZoneTest.php b/core/modules/user/tests/src/Functional/UserTimeZoneTest.php
similarity index 96%
rename from core/modules/user/src/Tests/UserTimeZoneTest.php
rename to core/modules/user/tests/src/Functional/UserTimeZoneTest.php
index 396add4..ccf4325 100644
--- a/core/modules/user/src/Tests/UserTimeZoneTest.php
+++ b/core/modules/user/tests/src/Functional/UserTimeZoneTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
 use Drupal\Core\Datetime\Entity\DateFormat;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Set a user time zone and verify that dates are displayed in local time.
  *
  * @group user
  */
-class UserTimeZoneTest extends WebTestBase {
+class UserTimeZoneTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/user/src/Tests/UserTranslationUITest.php b/core/modules/user/tests/src/Functional/UserTranslationUITest.php
similarity index 94%
rename from core/modules/user/src/Tests/UserTranslationUITest.php
rename to core/modules/user/tests/src/Functional/UserTranslationUITest.php
index 32a9b8f..ae541da 100644
--- a/core/modules/user/src/Tests/UserTranslationUITest.php
+++ b/core/modules/user/tests/src/Functional/UserTranslationUITest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
-use Drupal\content_translation\Tests\ContentTranslationUITestBase;
+use Drupal\Tests\content_translation\Functional\ContentTranslationUITestBase;
 
 /**
  * Tests the User Translation UI.
diff --git a/core/modules/user/src/Tests/Views/AccessPermissionTest.php b/core/modules/user/tests/src/Functional/Views/AccessPermissionTest.php
similarity index 97%
rename from core/modules/user/src/Tests/Views/AccessPermissionTest.php
rename to core/modules/user/tests/src/Functional/Views/AccessPermissionTest.php
index 477abd9..dde1391 100644
--- a/core/modules/user/src/Tests/Views/AccessPermissionTest.php
+++ b/core/modules/user/tests/src/Functional/Views/AccessPermissionTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\user\Tests\Views;
+namespace Drupal\Tests\user\Functional\Views;
 
 use Drupal\user\Plugin\views\access\Permission;
 use Drupal\views\Plugin\views\display\DisplayPluginBase;
diff --git a/core/modules/user/src/Tests/Views/AccessRoleTest.php b/core/modules/user/tests/src/Functional/Views/AccessRoleTest.php
similarity index 96%
rename from core/modules/user/src/Tests/Views/AccessRoleTest.php
rename to core/modules/user/tests/src/Functional/Views/AccessRoleTest.php
index 5705557..a181b1a 100644
--- a/core/modules/user/src/Tests/Views/AccessRoleTest.php
+++ b/core/modules/user/tests/src/Functional/Views/AccessRoleTest.php
@@ -1,8 +1,9 @@
 <?php
 
-namespace Drupal\user\Tests\Views;
+namespace Drupal\Tests\user\Functional\Views;
 
 use Drupal\Core\Cache\Cache;
+use Drupal\system\Tests\Cache\AssertPageCacheContextsAndTagsTrait;
 use Drupal\user\Plugin\views\access\Role;
 use Drupal\views\Plugin\views\display\DisplayPluginBase;
 use Drupal\views\Views;
@@ -15,6 +16,8 @@
  */
 class AccessRoleTest extends AccessTestBase {
 
+  use AssertPageCacheContextsAndTagsTrait;
+
   /**
    * Views used by this test.
    *
diff --git a/core/modules/user/src/Tests/Views/AccessTestBase.php b/core/modules/user/tests/src/Functional/Views/AccessTestBase.php
similarity index 90%
rename from core/modules/user/src/Tests/Views/AccessTestBase.php
rename to core/modules/user/tests/src/Functional/Views/AccessTestBase.php
index b0395b0..36f2334 100644
--- a/core/modules/user/src/Tests/Views/AccessTestBase.php
+++ b/core/modules/user/tests/src/Functional/Views/AccessTestBase.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\user\Tests\Views;
+namespace Drupal\Tests\user\Functional\Views;
 
 /**
  * A common test base class for the user access plugin tests.
@@ -45,8 +45,8 @@
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
-    parent::setUp();
+  protected function setUp($import_test_views = TRUE) {
+    parent::setUp($import_test_views);
     $this->drupalPlaceBlock('system_breadcrumb_block');
 
     $this->enableViewsTestModule();
diff --git a/core/modules/user/src/Tests/Views/ArgumentDefaultTest.php b/core/modules/user/tests/src/Functional/Views/ArgumentDefaultTest.php
similarity index 94%
rename from core/modules/user/src/Tests/Views/ArgumentDefaultTest.php
rename to core/modules/user/tests/src/Functional/Views/ArgumentDefaultTest.php
index 7db3237..e14948b 100644
--- a/core/modules/user/src/Tests/Views/ArgumentDefaultTest.php
+++ b/core/modules/user/tests/src/Functional/Views/ArgumentDefaultTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\user\Tests\Views;
+namespace Drupal\Tests\user\Functional\Views;
 
 use Drupal\views\Views;
 
diff --git a/core/modules/user/src/Tests/Views/ArgumentValidateTest.php b/core/modules/user/tests/src/Functional/Views/ArgumentValidateTest.php
similarity index 93%
rename from core/modules/user/src/Tests/Views/ArgumentValidateTest.php
rename to core/modules/user/tests/src/Functional/Views/ArgumentValidateTest.php
index 3365bd8..ab39680 100644
--- a/core/modules/user/src/Tests/Views/ArgumentValidateTest.php
+++ b/core/modules/user/tests/src/Functional/Views/ArgumentValidateTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\user\Tests\Views;
+namespace Drupal\Tests\user\Functional\Views;
 
 use Drupal\Core\Form\FormState;
 use Drupal\views\Plugin\views\argument\ArgumentPluginBase;
@@ -27,8 +27,8 @@ class ArgumentValidateTest extends UserTestBase {
    */
   protected $account;
 
-  protected function setUp() {
-    parent::setUp();
+  protected function setUp($import_test_views = TRUE) {
+    parent::setUp($import_test_views);
 
     $this->account = $this->drupalCreateUser();
   }
diff --git a/core/modules/user/src/Tests/Views/BulkFormAccessTest.php b/core/modules/user/tests/src/Functional/Views/BulkFormAccessTest.php
similarity index 99%
rename from core/modules/user/src/Tests/Views/BulkFormAccessTest.php
rename to core/modules/user/tests/src/Functional/Views/BulkFormAccessTest.php
index 2b36240..f76b788 100644
--- a/core/modules/user/src/Tests/Views/BulkFormAccessTest.php
+++ b/core/modules/user/tests/src/Functional/Views/BulkFormAccessTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\user\Tests\Views;
+namespace Drupal\Tests\user\Functional\Views;
 use Drupal\Component\Utility\SafeMarkup;
 use Drupal\user\Entity\User;
 
diff --git a/core/modules/user/src/Tests/Views/BulkFormTest.php b/core/modules/user/tests/src/Functional/Views/BulkFormTest.php
similarity index 99%
rename from core/modules/user/src/Tests/Views/BulkFormTest.php
rename to core/modules/user/tests/src/Functional/Views/BulkFormTest.php
index 665af74..29c0e83 100644
--- a/core/modules/user/src/Tests/Views/BulkFormTest.php
+++ b/core/modules/user/tests/src/Functional/Views/BulkFormTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\user\Tests\Views;
+namespace Drupal\Tests\user\Functional\Views;
 
 use Drupal\user\Entity\User;
 use Drupal\user\RoleInterface;
diff --git a/core/modules/user/src/Tests/Views/FilterPermissionUiTest.php b/core/modules/user/tests/src/Functional/Views/FilterPermissionUiTest.php
similarity index 91%
rename from core/modules/user/src/Tests/Views/FilterPermissionUiTest.php
rename to core/modules/user/tests/src/Functional/Views/FilterPermissionUiTest.php
index f9444bc..d08c2f3 100644
--- a/core/modules/user/src/Tests/Views/FilterPermissionUiTest.php
+++ b/core/modules/user/tests/src/Functional/Views/FilterPermissionUiTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\user\Tests\Views;
+namespace Drupal\Tests\user\Functional\Views;
 
-use Drupal\views\Tests\ViewTestBase;
+use Drupal\Tests\views\Functional\ViewTestBase;
 use Drupal\views\Tests\ViewTestData;
 
 /**
@@ -27,8 +27,8 @@ class FilterPermissionUiTest extends ViewTestBase {
    */
   public static $modules = ['user', 'user_test_views', 'views_ui'];
 
-  protected function setUp() {
-    parent::setUp(TRUE);
+  protected function setUp($import_test_views = TRUE) {
+    parent::setUp($import_test_views);
 
     ViewTestData::createTestViews(get_class($this), ['user_test_views']);
     $this->enableViewsTestModule();
diff --git a/core/modules/user/src/Tests/Views/HandlerArgumentUserUidTest.php b/core/modules/user/tests/src/Functional/Views/HandlerArgumentUserUidTest.php
similarity index 97%
rename from core/modules/user/src/Tests/Views/HandlerArgumentUserUidTest.php
rename to core/modules/user/tests/src/Functional/Views/HandlerArgumentUserUidTest.php
index 73ee53f..628150b 100644
--- a/core/modules/user/src/Tests/Views/HandlerArgumentUserUidTest.php
+++ b/core/modules/user/tests/src/Functional/Views/HandlerArgumentUserUidTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\user\Tests\Views;
+namespace Drupal\Tests\user\Functional\Views;
 
 use Drupal\views\Views;
 
diff --git a/core/modules/user/src/Tests/Views/HandlerFieldRoleTest.php b/core/modules/user/tests/src/Functional/Views/HandlerFieldRoleTest.php
similarity index 97%
rename from core/modules/user/src/Tests/Views/HandlerFieldRoleTest.php
rename to core/modules/user/tests/src/Functional/Views/HandlerFieldRoleTest.php
index 6a5ebfc..9c2430e 100644
--- a/core/modules/user/src/Tests/Views/HandlerFieldRoleTest.php
+++ b/core/modules/user/tests/src/Functional/Views/HandlerFieldRoleTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\user\Tests\Views;
+namespace Drupal\Tests\user\Functional\Views;
 
 use Drupal\Component\Utility\Html;
 use Drupal\user\Entity\User;
diff --git a/core/modules/user/src/Tests/Views/HandlerFieldUserNameTest.php b/core/modules/user/tests/src/Functional/Views/HandlerFieldUserNameTest.php
similarity index 98%
rename from core/modules/user/src/Tests/Views/HandlerFieldUserNameTest.php
rename to core/modules/user/tests/src/Functional/Views/HandlerFieldUserNameTest.php
index 39a3ec8..0525e3d 100644
--- a/core/modules/user/src/Tests/Views/HandlerFieldUserNameTest.php
+++ b/core/modules/user/tests/src/Functional/Views/HandlerFieldUserNameTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\user\Tests\Views;
+namespace Drupal\Tests\user\Functional\Views;
 
 use Drupal\Core\Render\RenderContext;
 use Drupal\views\Views;
diff --git a/core/modules/user/src/Tests/Views/HandlerFilterUserNameTest.php b/core/modules/user/tests/src/Functional/Views/HandlerFilterUserNameTest.php
similarity index 96%
rename from core/modules/user/src/Tests/Views/HandlerFilterUserNameTest.php
rename to core/modules/user/tests/src/Functional/Views/HandlerFilterUserNameTest.php
index c4f7065..2394695 100644
--- a/core/modules/user/src/Tests/Views/HandlerFilterUserNameTest.php
+++ b/core/modules/user/tests/src/Functional/Views/HandlerFilterUserNameTest.php
@@ -1,9 +1,9 @@
 <?php
 
-namespace Drupal\user\Tests\Views;
+namespace Drupal\Tests\user\Functional\Views;
 
 use Drupal\views\Views;
-use Drupal\views\Tests\ViewTestBase;
+use Drupal\Tests\views\Functional\ViewTestBase;
 use Drupal\views\Tests\ViewTestData;
 
 /**
@@ -51,8 +51,8 @@ class HandlerFilterUserNameTest extends ViewTestBase {
     'uid' => 'uid',
   ];
 
-  protected function setUp() {
-    parent::setUp();
+  protected function setUp($import_test_views = TRUE) {
+    parent::setUp($import_test_views);
 
     ViewTestData::createTestViews(get_class($this), ['user_test_views']);
 
diff --git a/core/modules/user/src/Tests/Views/RelationshipRepresentativeNodeTest.php b/core/modules/user/tests/src/Functional/Views/RelationshipRepresentativeNodeTest.php
similarity index 94%
rename from core/modules/user/src/Tests/Views/RelationshipRepresentativeNodeTest.php
rename to core/modules/user/tests/src/Functional/Views/RelationshipRepresentativeNodeTest.php
index 14f4412..6af661e 100644
--- a/core/modules/user/src/Tests/Views/RelationshipRepresentativeNodeTest.php
+++ b/core/modules/user/tests/src/Functional/Views/RelationshipRepresentativeNodeTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\user\Tests\Views;
+namespace Drupal\Tests\user\Functional\Views;
 
 use Drupal\views\Views;
 
diff --git a/core/modules/user/src/Tests/Views/RolesRidArgumentTest.php b/core/modules/user/tests/src/Functional/Views/RolesRidArgumentTest.php
similarity index 93%
rename from core/modules/user/src/Tests/Views/RolesRidArgumentTest.php
rename to core/modules/user/tests/src/Functional/Views/RolesRidArgumentTest.php
index 58782e9..fd36ec4 100644
--- a/core/modules/user/src/Tests/Views/RolesRidArgumentTest.php
+++ b/core/modules/user/tests/src/Functional/Views/RolesRidArgumentTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\user\Tests\Views;
+namespace Drupal\Tests\user\Functional\Views;
 
 /**
  * Tests the handler of the user: roles argument.
diff --git a/core/modules/user/src/Tests/Views/UserChangedTest.php b/core/modules/user/tests/src/Functional/Views/UserChangedTest.php
similarity index 79%
rename from core/modules/user/src/Tests/Views/UserChangedTest.php
rename to core/modules/user/tests/src/Functional/Views/UserChangedTest.php
index ddd7903..2271c0c 100644
--- a/core/modules/user/src/Tests/Views/UserChangedTest.php
+++ b/core/modules/user/tests/src/Functional/Views/UserChangedTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\user\Tests\Views;
+namespace Drupal\Tests\user\Functional\Views;
 
-use Drupal\views\Tests\ViewTestBase;
+use Drupal\Tests\views\Functional\ViewTestBase;
 use Drupal\views\Tests\ViewTestData;
 
 /**
@@ -26,8 +26,8 @@ class UserChangedTest extends ViewTestBase {
    */
   public static $testViews = ['test_user_changed'];
 
-  protected function setUp() {
-    parent::setUp();
+  protected function setUp($import_test_views = TRUE) {
+    parent::setUp($import_test_views);
 
     ViewTestData::createTestViews(get_class($this), ['user_test_views']);
 
diff --git a/core/modules/user/src/Tests/Views/UserDataTest.php b/core/modules/user/tests/src/Functional/Views/UserDataTest.php
similarity index 96%
rename from core/modules/user/src/Tests/Views/UserDataTest.php
rename to core/modules/user/tests/src/Functional/Views/UserDataTest.php
index 4628ae2..d15e6f3 100644
--- a/core/modules/user/src/Tests/Views/UserDataTest.php
+++ b/core/modules/user/tests/src/Functional/Views/UserDataTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\user\Tests\Views;
+namespace Drupal\Tests\user\Functional\Views;
 
 use Drupal\views\Views;
 
diff --git a/core/modules/user/src/Tests/Views/UserTestBase.php b/core/modules/user/tests/src/Functional/Views/UserTestBase.php
similarity index 80%
rename from core/modules/user/src/Tests/Views/UserTestBase.php
rename to core/modules/user/tests/src/Functional/Views/UserTestBase.php
index c49dcb2..49de6f7 100644
--- a/core/modules/user/src/Tests/Views/UserTestBase.php
+++ b/core/modules/user/tests/src/Functional/Views/UserTestBase.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\user\Tests\Views;
+namespace Drupal\Tests\user\Functional\Views;
 
-use Drupal\views\Tests\ViewTestBase;
+use Drupal\Tests\views\Functional\ViewTestBase;
 use Drupal\views\Tests\ViewTestData;
 use Drupal\user\Entity\User;
 
@@ -32,8 +32,8 @@
    */
   protected $nodes = [];
 
-  protected function setUp() {
-    parent::setUp();
+  protected function setUp($import_test_views = TRUE) {
+    parent::setUp($import_test_views);
 
     ViewTestData::createTestViews(get_class($this), ['user_test_views']);
 
