diff --git a/.travis.yml b/.travis.yml
index 214d7f1..dd8a2e6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -17,7 +17,6 @@ php:
 matrix:
   fast_finish: true
   allow_failures:
-    - php: 7
     - php: hhvm
 
 env:
@@ -63,8 +62,8 @@ env:
     - DRUPAL_TI_BEHAT_DRIVER="phantomjs"
     - DRUPAL_TI_BEHAT_BROWSER="firefox"
 
-    # Use Drupal 8.2.x to run tests.
-    - DRUPAL_TI_CORE_BRANCH="8.2.x"
+    # Use Drupal 8.3.x to run tests.
+    - DRUPAL_TI_CORE_BRANCH="8.3.x"
 
     # PHPUnit specific commandline arguments.
     - DRUPAL_TI_PHPUNIT_ARGS="--verbose --debug"
@@ -89,7 +88,7 @@ env:
     #- DRUPAL_TI_RUNNERS="phpunit"
     #- DRUPAL_TI_RUNNERS="simpletest"
     #- DRUPAL_TI_RUNNERS="behat"
-    - DRUPAL_TI_RUNNERS="phpunit-core simpletest"
+    - DRUPAL_TI_RUNNERS="phpunit-core"
 
 # This will create the database
 mysql:
@@ -102,7 +101,7 @@ services:
 
 before_install:
   - composer self-update
-  - composer global require "lionsad/drupal_ti:dev-master"
+  - composer global require "lionsad/drupal_ti:dev-master#396d11d200005eb68491d24170da0a98ae7f51b3"
   - drupal-ti before_install
 
 install:
diff --git a/src/Tests/RedisLockFunctionalTest.php b/tests/src/Functional/Lock/RedisLockFunctionalTest.php
similarity index 91%
rename from src/Tests/RedisLockFunctionalTest.php
rename to tests/src/Functional/Lock/RedisLockFunctionalTest.php
index 3e9b032..70088d9 100644
--- a/src/Tests/RedisLockFunctionalTest.php
+++ b/tests/src/Functional/Lock/RedisLockFunctionalTest.php
@@ -1,10 +1,10 @@
 <?php
 
-namespace Drupal\redis\Tests;
+namespace Drupal\Tests\redis\Functional\Lock;
 
 use Drupal\Component\Utility\OpCodeCache;
 use Drupal\Core\Site\Settings;
-use Drupal\system\Tests\Lock\LockFunctionalTest;
+use Drupal\Tests\system\Functional\Lock\LockFunctionalTest;
 
 /**
  * Confirm locking works between two separate requests.
diff --git a/src/Tests/WebTest.php b/tests/src/Functional/WebTest.php
similarity index 78%
rename from src/Tests/WebTest.php
rename to tests/src/Functional/WebTest.php
index 6b2fb5a..d868e20 100644
--- a/src/Tests/WebTest.php
+++ b/tests/src/Functional/WebTest.php
@@ -1,20 +1,19 @@
 <?php
 
-namespace Drupal\redis\Tests;
+namespace Drupal\Tests\redis\Functional;
 
 use Drupal\Component\Utility\OpCodeCache;
 use Drupal\Component\Utility\Unicode;
 use Drupal\Core\Site\Settings;
 use Drupal\field_ui\Tests\FieldUiTestTrait;
-use Drupal\simpletest\WebTestBase;
-use Symfony\Component\Yaml\Yaml;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests complex processes like installing modules with redis backends.
  *
  * @group redis
  */
-class WebTest extends WebTestBase {
+class WebTest extends BrowserTestBase {
 
   use FieldUiTestTrait;
 
@@ -34,7 +33,9 @@ class WebTest extends WebTestBase {
     $this->drupalPlaceBlock('system_breadcrumb_block');
     $this->drupalPlaceBlock('local_tasks_block');
 
-    $cache_configuration = [
+    // Set in-memory settings.
+    $settings = Settings::getAll();
+    $settings['cache'] = [
       'default' => 'cache.backend.redis',
       'bins' => [
         'config' => 'cache.backend.chainedfast',
@@ -42,8 +43,10 @@ class WebTest extends WebTestBase {
         'discovery' => 'cache.backend.chainedfast',
       ],
     ];
-    $this->settingsSet('cache', $cache_configuration);
+    new Settings($settings);
 
+    // Write settings.php for HTTP requests.
+    $settings = [];
     $settings['settings']['cache']['default'] = (object) array(
       'value' => 'cache.backend.redis',
       'required' => TRUE,
@@ -92,14 +95,25 @@ class WebTest extends WebTestBase {
     $this->drupalLogin($admin_user);
 
     // Enable a few modules.
-    $edit["modules[Core][node][enable]"] = TRUE;
-    $edit["modules[Core][views][enable]"] = TRUE;
-    $edit["modules[Core][field_ui][enable]"] = TRUE;
-    $edit["modules[Field types][text][enable]"] = TRUE;
+    $edit["modules[node][enable]"] = TRUE;
+    $edit["modules[views][enable]"] = TRUE;
+    $edit["modules[field_ui][enable]"] = TRUE;
+    $edit["modules[text][enable]"] = TRUE;
     $this->drupalPostForm('admin/modules', $edit, t('Install'));
     $this->drupalPostForm(NULL, [], t('Continue'));
-    $this->assertText('6 modules have been enabled: Field UI, Node, Views, Text, Field, Filter.');
-    $this->assertFieldChecked('edit-modules-core-field-ui-enable');
+
+    $assert = $this->assertSession();
+
+    // The order of the modules is not guaranteed, so just assert that they are
+    // all listed.
+    $assert->elementTextContains('css', '.messages--status', '6 modules have been enabled');
+    $assert->elementTextContains('css', '.messages--status', 'Field UI');
+    $assert->elementTextContains('css', '.messages--status', 'Node');
+    $assert->elementTextContains('css', '.messages--status', 'Text');
+    $assert->elementTextContains('css', '.messages--status', 'Views');
+    $assert->elementTextContains('css', '.messages--status', 'Field');
+    $assert->elementTextContains('css', '.messages--status', 'Filter');
+    $assert->checkboxChecked('edit-modules-field-ui-enable');
 
     // Create a node type with a field.
     $edit = [
diff --git a/src/Tests/Cache/PhpRedisUnitTest.php b/tests/src/Kernel/PhpRedisCacheTest.php
similarity index 78%
rename from src/Tests/Cache/PhpRedisUnitTest.php
rename to tests/src/Kernel/PhpRedisCacheTest.php
index 22ff9e8..5e00e37 100644
--- a/src/Tests/Cache/PhpRedisUnitTest.php
+++ b/tests/src/Kernel/PhpRedisCacheTest.php
@@ -1,9 +1,9 @@
 <?php
 
-namespace Drupal\redis\Tests\Cache;
+namespace Drupal\Tests\redis\Kernel;
 
 use Drupal\Core\DependencyInjection\ContainerBuilder;
-use Drupal\system\Tests\Cache\GenericCacheBackendUnitTestBase;
+use Drupal\KernelTests\Core\Cache\GenericCacheBackendUnitTestBase;
 use Symfony\Component\DependencyInjection\Reference;
 
 /**
@@ -11,7 +11,7 @@ use Symfony\Component\DependencyInjection\Reference;
  *
  * @group redis
  */
-class PhpRedisUnitTest extends GenericCacheBackendUnitTestBase {
+class PhpRedisCacheTest extends GenericCacheBackendUnitTestBase {
 
   /**
    * Modules to enable.
@@ -20,8 +20,8 @@ class PhpRedisUnitTest extends GenericCacheBackendUnitTestBase {
    */
   public static $modules = array('system', 'redis');
 
-  public function containerBuild(ContainerBuilder $container) {
-    parent::containerBuild($container);
+  public function register(ContainerBuilder $container) {
+    parent::register($container);
     // Replace the default checksum service with the redis implementation.
     if ($container->has('redis.factory')) {
       $container->register('cache_tags.invalidator.checksum', 'Drupal\redis\Cache\RedisCacheTagsChecksum')
