diff --git a/core/modules/menu_ui/src/Tests/MenuCacheTagsTest.php b/core/modules/menu_ui/src/Tests/MenuCacheTagsTest.php
index 96432d4838cf2c72355af75c9b6d967c7581d0d8..d1d05c481566d1b3032a03b36cc60617ab42859f 100644
--- a/core/modules/menu_ui/src/Tests/MenuCacheTagsTest.php
+++ b/core/modules/menu_ui/src/Tests/MenuCacheTagsTest.php
@@ -7,6 +7,7 @@
 
 namespace Drupal\menu_ui\Tests;
 
+use Drupal\Core\Url;
 use Drupal\system\Tests\Cache\PageCacheTagsTestBase;
 
 /**
@@ -28,7 +29,7 @@ class MenuCacheTagsTest extends PageCacheTagsTestBase {
    * - "menu:<menu ID>"
    */
   public function testMenuBlock() {
-    $path = 'test-page';
+    $url = Url::fromRoute('test_page_test.test_page');
 
     // Create a Llama menu, add a link to it and place the corresponding block.
     $menu = entity_create('menu', array(
@@ -44,7 +45,7 @@ public function testMenuBlock() {
     $block = $this->drupalPlaceBlock('system_menu_block:llama', array('label' => 'Llama', 'provider' => 'system', 'region' => 'footer'));
 
     // Prime the page cache.
-    $this->verifyPageCache($path, 'MISS');
+    $this->verifyPageCache($url, 'MISS');
 
     // Verify a cache hit, but also the presence of the correct cache tags.
     $expected_tags = array(
@@ -55,24 +56,24 @@ public function testMenuBlock() {
       'block_plugin:system_menu_block__llama',
       'config:system.menu.llama',
     );
-    $this->verifyPageCache($path, 'HIT', $expected_tags);
+    $this->verifyPageCache($url, 'HIT', $expected_tags);
 
     // Verify that after modifying the menu, there is a cache miss.
     $this->pass('Test modification of menu.', 'Debug');
     $menu->set('label', 'Awesome llama');
     $menu->save();
-    $this->verifyPageCache($path, 'MISS');
+    $this->verifyPageCache($url, 'MISS');
 
     // Verify a cache hit.
-    $this->verifyPageCache($path, 'HIT');
+    $this->verifyPageCache($url, 'HIT');
 
     // Verify that after modifying the menu link weight, there is a cache miss.
     $menu_link_manager->updateDefinition('test_page_test.test_page', array('weight' => -10));
     $this->pass('Test modification of menu link.', 'Debug');
-    $this->verifyPageCache($path, 'MISS');
+    $this->verifyPageCache($url, 'MISS');
 
     // Verify a cache hit.
-    $this->verifyPageCache($path, 'HIT');
+    $this->verifyPageCache($url, 'HIT');
 
     // Verify that after adding a menu link, there is a cache miss.
     $this->pass('Test addition of menu link.', 'Debug');
@@ -85,27 +86,27 @@ public function testMenuBlock() {
       'bundle' => 'menu_name',
     ));
     $menu_link_2->save();
-    $this->verifyPageCache($path, 'MISS');
+    $this->verifyPageCache($url, 'MISS');
 
     // Verify a cache hit.
-    $this->verifyPageCache($path, 'HIT');
+    $this->verifyPageCache($url, 'HIT');
 
     // Verify that after resetting the first menu link, there is a cache miss.
     $this->pass('Test reset of menu link.', 'Debug');
     $this->assertTrue($menu_link->isResettable(), 'First link can be reset');
     $menu_link = $menu_link_manager->resetLink($menu_link->getPluginId());
-    $this->verifyPageCache($path, 'MISS');
+    $this->verifyPageCache($url, 'MISS');
 
     // Verify a cache hit.
-    $this->verifyPageCache($path, 'HIT', $expected_tags);
+    $this->verifyPageCache($url, 'HIT', $expected_tags);
 
     // Verify that after deleting the menu, there is a cache miss.
     $this->pass('Test deletion of menu.', 'Debug');
     $menu->delete();
-    $this->verifyPageCache($path, 'MISS');
+    $this->verifyPageCache($url, 'MISS');
 
     // Verify a cache hit.
-    $this->verifyPageCache($path, 'HIT', ['config:block_list', 'rendered']);
+    $this->verifyPageCache($url, 'HIT', ['config:block_list', 'rendered']);
   }
 
 }
diff --git a/core/modules/system/src/Tests/Cache/PageCacheTagsTestBase.php b/core/modules/system/src/Tests/Cache/PageCacheTagsTestBase.php
index f438533919cc77b0ffc530f8ab1f473a9dfb7a69..3e3b1bc95984b5b67928081cfec09aadb8efa45c 100644
--- a/core/modules/system/src/Tests/Cache/PageCacheTagsTestBase.php
+++ b/core/modules/system/src/Tests/Cache/PageCacheTagsTestBase.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\system\Tests\Cache;
 
-use Drupal\Component\Utility\UrlHelper;
+use Drupal\Core\Url;
 use Drupal\simpletest\WebTestBase;
 use Drupal\Component\Utility\String;
 
@@ -39,8 +39,8 @@ protected function setUp() {
   /**
    * Verify that when loading a given page, it's a page cache hit or miss.
    *
-   * @param string $path
-   *   The page at this path will be loaded.
+   * @param \Drupal\Core\Url $url
+   *   The page for this URL will be loaded.
    * @param string $hit_or_miss
    *   'HIT' if a page cache hit is expected, 'MISS' otherwise.
    *
@@ -48,13 +48,13 @@ protected function setUp() {
    *   When expecting a page cache hit, you may optionally specify an array of
    *   expected cache tags. While FALSE, the cache tags will not be verified.
    */
-  protected function verifyPageCache($path, $hit_or_miss, $tags = FALSE) {
-    $this->drupalGet($path);
-    $message = String::format('Page cache @hit_or_miss for %path.', array('@hit_or_miss' => $hit_or_miss, '%path' => $path));
+  protected function verifyPageCache(Url $url, $hit_or_miss, $tags = FALSE) {
+    $this->drupalGet($url);
+    $message = String::format('Page cache @hit_or_miss for %path.', array('@hit_or_miss' => $hit_or_miss, '%path' => $url->toString()));
     $this->assertEqual($this->drupalGetHeader('X-Drupal-Cache'), $hit_or_miss, $message);
 
     if ($hit_or_miss === 'HIT' && is_array($tags)) {
-      $absolute_url = UrlHelper::isExternal($path) ? $path : _url($path, array('absolute' => TRUE));
+      $absolute_url = $url->setAbsolute()->toString();
       $cid_parts = array($absolute_url, 'html');
       $cid = implode(':', $cid_parts);
       $cache_entry = \Drupal::cache('render')->get($cid);
diff --git a/core/modules/system/src/Tests/Entity/EntityCacheTagsTestBase.php b/core/modules/system/src/Tests/Entity/EntityCacheTagsTestBase.php
index ccdabadd07832ce3e7663f5a8d3457cd9fb97e46..e43f03a7c6b4659bf9b71374bcfa0eb22e0ae55a 100644
--- a/core/modules/system/src/Tests/Entity/EntityCacheTagsTestBase.php
+++ b/core/modules/system/src/Tests/Entity/EntityCacheTagsTestBase.php
@@ -10,6 +10,7 @@
 use Drupal\Core\Cache\Cache;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
+use Drupal\Core\Url;
 use Drupal\field\Entity\FieldStorageConfig;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\system\Tests\Cache\PageCacheTagsTestBase;
@@ -277,11 +278,15 @@ protected function createReferenceTestEntities($referenced_entity) {
    */
   public function testReferencedEntity() {
     $entity_type = $this->entity->getEntityTypeId();
-    $referencing_entity_path = $this->referencing_entity->url('canonical', array('absolute' => TRUE));
-    $non_referencing_entity_path = $this->non_referencing_entity->url('canonical', array('absolute' => TRUE));
-    $listing_path = 'entity_test/list/' . $entity_type . '_reference/' . $entity_type . '/' . $this->entity->id();
-    $empty_entity_listing_path = 'entity_test/list_empty/' . $entity_type;
-    $nonempty_entity_listing_path = 'entity_test/list_labels_alphabetically/' . $entity_type;
+    $referencing_entity_url = $this->referencing_entity->urlInfo('canonical');
+    $non_referencing_entity_url = $this->non_referencing_entity->urlInfo('canonical');
+    $listing_url = Url::fromRoute('entity.entity_test.list_referencing_entities', [
+      'entity_reference_field_name' =>  $entity_type . '_reference',
+      'referenced_entity_type' => $entity_type,
+      'referenced_entity_id' => $this->entity->id(),
+    ]);
+    $empty_entity_listing_url = Url::fromRoute('entity.entity_test.list_empty', ['entity_type_id' => $entity_type]);
+    $nonempty_entity_listing_url = Url::fromRoute('entity.entity_test.list_labels_alphabetically', ['entity_type_id' => $entity_type]);
 
     // Cache tags present on every rendered page.
     $page_cache_tags = Cache::mergeTags(
@@ -328,17 +333,17 @@ public function testReferencedEntity() {
     );
 
     $this->pass("Test referencing entity.", 'Debug');
-    $this->verifyPageCache($referencing_entity_path, 'MISS');
+    $this->verifyPageCache($referencing_entity_url, 'MISS');
     // Verify a cache hit, but also the presence of the correct cache tags.
-    $this->verifyPageCache($referencing_entity_path, 'HIT', Cache::mergeTags($referencing_entity_cache_tags, $page_cache_tags));
+    $this->verifyPageCache($referencing_entity_url, 'HIT', Cache::mergeTags($referencing_entity_cache_tags, $page_cache_tags));
     // Also verify the existence of an entity render cache entry.
     $cid = 'entity_view:entity_test:' . $this->referencing_entity->id() . ':full:classy:r.anonymous:' . date_default_timezone_get();
     $this->verifyRenderCache($cid, $referencing_entity_cache_tags);
 
     $this->pass("Test non-referencing entity.", 'Debug');
-    $this->verifyPageCache($non_referencing_entity_path, 'MISS');
+    $this->verifyPageCache($non_referencing_entity_url, 'MISS');
     // Verify a cache hit, but also the presence of the correct cache tags.
-    $this->verifyPageCache($non_referencing_entity_path, 'HIT', Cache::mergeTags($non_referencing_entity_cache_tags, $page_cache_tags));
+    $this->verifyPageCache($non_referencing_entity_url, 'HIT', Cache::mergeTags($non_referencing_entity_cache_tags, $page_cache_tags));
     // Also verify the existence of an entity render cache entry.
     $cid = 'entity_view:entity_test:' . $this->non_referencing_entity->id() . ':full:classy:r.anonymous:' . date_default_timezone_get();
     $this->verifyRenderCache($cid, $non_referencing_entity_cache_tags);
@@ -346,40 +351,40 @@ public function testReferencedEntity() {
 
     $this->pass("Test listing of referencing entities.", 'Debug');
     // Prime the page cache for the listing of referencing entities.
-    $this->verifyPageCache($listing_path, 'MISS');
+    $this->verifyPageCache($listing_url, 'MISS');
     // Verify a cache hit, but also the presence of the correct cache tags.
-    $this->verifyPageCache($listing_path, 'HIT', Cache::mergeTags($referencing_entity_cache_tags, $page_cache_tags));
+    $this->verifyPageCache($listing_url, 'HIT', Cache::mergeTags($referencing_entity_cache_tags, $page_cache_tags));
 
 
     $this->pass("Test empty listing.", 'Debug');
     // Prime the page cache for the empty listing.
-    $this->verifyPageCache($empty_entity_listing_path, 'MISS');
+    $this->verifyPageCache($empty_entity_listing_url, 'MISS');
     // Verify a cache hit, but also the presence of the correct cache tags.
-    $this->verifyPageCache($empty_entity_listing_path, 'HIT', $empty_entity_listing_cache_tags);
+    $this->verifyPageCache($empty_entity_listing_url, 'HIT', $empty_entity_listing_cache_tags);
 
 
     $this->pass("Test listing containing referenced entity.", 'Debug');
     // Prime the page cache for the listing containing the referenced entity.
-    $this->verifyPageCache($nonempty_entity_listing_path, 'MISS');
+    $this->verifyPageCache($nonempty_entity_listing_url, 'MISS');
     // Verify a cache hit, but also the presence of the correct cache tags.
-    $this->verifyPageCache($nonempty_entity_listing_path, 'HIT', $nonempty_entity_listing_cache_tags);
+    $this->verifyPageCache($nonempty_entity_listing_url, 'HIT', $nonempty_entity_listing_cache_tags);
 
 
     // Verify that after modifying the referenced entity, there is a cache miss
     // for every route except the one for the non-referencing entity.
     $this->pass("Test modification of referenced entity.", 'Debug');
     $this->entity->save();
-    $this->verifyPageCache($referencing_entity_path, 'MISS');
-    $this->verifyPageCache($listing_path, 'MISS');
-    $this->verifyPageCache($empty_entity_listing_path, 'MISS');
-    $this->verifyPageCache($nonempty_entity_listing_path, 'MISS');
-    $this->verifyPageCache($non_referencing_entity_path, 'HIT');
+    $this->verifyPageCache($referencing_entity_url, 'MISS');
+    $this->verifyPageCache($listing_url, 'MISS');
+    $this->verifyPageCache($empty_entity_listing_url, 'MISS');
+    $this->verifyPageCache($nonempty_entity_listing_url, 'MISS');
+    $this->verifyPageCache($non_referencing_entity_url, 'HIT');
 
     // Verify cache hits.
-    $this->verifyPageCache($referencing_entity_path, 'HIT');
-    $this->verifyPageCache($listing_path, 'HIT');
-    $this->verifyPageCache($empty_entity_listing_path, 'HIT');
-    $this->verifyPageCache($nonempty_entity_listing_path, 'HIT');
+    $this->verifyPageCache($referencing_entity_url, 'HIT');
+    $this->verifyPageCache($listing_url, 'HIT');
+    $this->verifyPageCache($empty_entity_listing_url, 'HIT');
+    $this->verifyPageCache($nonempty_entity_listing_url, 'HIT');
 
 
     // Verify that after modifying the referencing entity, there is a cache miss
@@ -387,30 +392,30 @@ public function testReferencedEntity() {
     // empty entity listing.
     $this->pass("Test modification of referencing entity.", 'Debug');
     $this->referencing_entity->save();
-    $this->verifyPageCache($referencing_entity_path, 'MISS');
-    $this->verifyPageCache($listing_path, 'MISS');
-    $this->verifyPageCache($nonempty_entity_listing_path, 'HIT');
-    $this->verifyPageCache($non_referencing_entity_path, 'HIT');
-    $this->verifyPageCache($empty_entity_listing_path, 'HIT');
+    $this->verifyPageCache($referencing_entity_url, 'MISS');
+    $this->verifyPageCache($listing_url, 'MISS');
+    $this->verifyPageCache($nonempty_entity_listing_url, 'HIT');
+    $this->verifyPageCache($non_referencing_entity_url, 'HIT');
+    $this->verifyPageCache($empty_entity_listing_url, 'HIT');
 
     // Verify cache hits.
-    $this->verifyPageCache($referencing_entity_path, 'HIT');
-    $this->verifyPageCache($listing_path, 'HIT');
-    $this->verifyPageCache($nonempty_entity_listing_path, 'HIT');
+    $this->verifyPageCache($referencing_entity_url, 'HIT');
+    $this->verifyPageCache($listing_url, 'HIT');
+    $this->verifyPageCache($nonempty_entity_listing_url, 'HIT');
 
 
     // Verify that after modifying the non-referencing entity, there is a cache
     // miss only for the non-referencing entity route.
     $this->pass("Test modification of non-referencing entity.", 'Debug');
     $this->non_referencing_entity->save();
-    $this->verifyPageCache($referencing_entity_path, 'HIT');
-    $this->verifyPageCache($listing_path, 'HIT');
-    $this->verifyPageCache($empty_entity_listing_path, 'HIT');
-    $this->verifyPageCache($nonempty_entity_listing_path, 'HIT');
-    $this->verifyPageCache($non_referencing_entity_path, 'MISS');
+    $this->verifyPageCache($referencing_entity_url, 'HIT');
+    $this->verifyPageCache($listing_url, 'HIT');
+    $this->verifyPageCache($empty_entity_listing_url, 'HIT');
+    $this->verifyPageCache($nonempty_entity_listing_url, 'HIT');
+    $this->verifyPageCache($non_referencing_entity_url, 'MISS');
 
     // Verify cache hits.
-    $this->verifyPageCache($non_referencing_entity_path, 'HIT');
+    $this->verifyPageCache($non_referencing_entity_url, 'HIT');
 
 
     if ($this->entity->getEntityType()->hasHandlerClass('view_builder')) {
@@ -421,15 +426,15 @@ public function testReferencedEntity() {
       $this->pass("Test modification of referenced entity's '$referenced_entity_view_mode' display.", 'Debug');
       $entity_display = entity_get_display($entity_type, $this->entity->bundle(), $referenced_entity_view_mode);
       $entity_display->save();
-      $this->verifyPageCache($referencing_entity_path, 'MISS');
-      $this->verifyPageCache($listing_path, 'MISS');
-      $this->verifyPageCache($non_referencing_entity_path, 'HIT');
-      $this->verifyPageCache($empty_entity_listing_path, 'HIT');
-      $this->verifyPageCache($nonempty_entity_listing_path, 'HIT');
+      $this->verifyPageCache($referencing_entity_url, 'MISS');
+      $this->verifyPageCache($listing_url, 'MISS');
+      $this->verifyPageCache($non_referencing_entity_url, 'HIT');
+      $this->verifyPageCache($empty_entity_listing_url, 'HIT');
+      $this->verifyPageCache($nonempty_entity_listing_url, 'HIT');
 
       // Verify cache hits.
-      $this->verifyPageCache($referencing_entity_path, 'HIT');
-      $this->verifyPageCache($listing_path, 'HIT');
+      $this->verifyPageCache($referencing_entity_url, 'HIT');
+      $this->verifyPageCache($listing_url, 'HIT');
     }
 
 
@@ -441,27 +446,27 @@ public function testReferencedEntity() {
       $this->pass("Test modification of referenced entity's bundle entity.", 'Debug');
       $bundle_entity = entity_load($bundle_entity_type, $this->entity->bundle());
       $bundle_entity->save();
-      $this->verifyPageCache($referencing_entity_path, 'MISS');
-      $this->verifyPageCache($listing_path, 'MISS');
-      $this->verifyPageCache($non_referencing_entity_path, 'HIT');
+      $this->verifyPageCache($referencing_entity_url, 'MISS');
+      $this->verifyPageCache($listing_url, 'MISS');
+      $this->verifyPageCache($non_referencing_entity_url, 'HIT');
       // Special case: entity types may choose to use their bundle entity type
       // cache tags, to avoid having excessively granular invalidation.
       $is_special_case = $bundle_entity->getCacheTags() == $this->entity->getCacheTags() && $bundle_entity->getEntityType()->getListCacheTags() == $this->entity->getEntityType()->getListCacheTags();
       if ($is_special_case) {
-        $this->verifyPageCache($empty_entity_listing_path, 'MISS');
-        $this->verifyPageCache($nonempty_entity_listing_path, 'MISS');
+        $this->verifyPageCache($empty_entity_listing_url, 'MISS');
+        $this->verifyPageCache($nonempty_entity_listing_url, 'MISS');
       }
       else {
-        $this->verifyPageCache($empty_entity_listing_path, 'HIT');
-        $this->verifyPageCache($nonempty_entity_listing_path, 'HIT');
+        $this->verifyPageCache($empty_entity_listing_url, 'HIT');
+        $this->verifyPageCache($nonempty_entity_listing_url, 'HIT');
       }
 
       // Verify cache hits.
-      $this->verifyPageCache($referencing_entity_path, 'HIT');
-      $this->verifyPageCache($listing_path, 'HIT');
+      $this->verifyPageCache($referencing_entity_url, 'HIT');
+      $this->verifyPageCache($listing_url, 'HIT');
       if ($is_special_case) {
-        $this->verifyPageCache($empty_entity_listing_path, 'HIT');
-        $this->verifyPageCache($nonempty_entity_listing_path, 'HIT');
+        $this->verifyPageCache($empty_entity_listing_url, 'HIT');
+        $this->verifyPageCache($nonempty_entity_listing_url, 'HIT');
       }
     }
 
@@ -473,15 +478,15 @@ public function testReferencedEntity() {
       $field_storage_name = $this->entity->getEntityTypeId() . '.configurable_field';
       $field_storage = FieldStorageConfig::load($field_storage_name);
       $field_storage->save();
-      $this->verifyPageCache($referencing_entity_path, 'MISS');
-      $this->verifyPageCache($listing_path, 'MISS');
-      $this->verifyPageCache($empty_entity_listing_path, 'HIT');
-      $this->verifyPageCache($nonempty_entity_listing_path, 'HIT');
-      $this->verifyPageCache($non_referencing_entity_path, 'HIT');
+      $this->verifyPageCache($referencing_entity_url, 'MISS');
+      $this->verifyPageCache($listing_url, 'MISS');
+      $this->verifyPageCache($empty_entity_listing_url, 'HIT');
+      $this->verifyPageCache($nonempty_entity_listing_url, 'HIT');
+      $this->verifyPageCache($non_referencing_entity_url, 'HIT');
 
       // Verify cache hits.
-      $this->verifyPageCache($referencing_entity_path, 'HIT');
-      $this->verifyPageCache($listing_path, 'HIT');
+      $this->verifyPageCache($referencing_entity_url, 'HIT');
+      $this->verifyPageCache($listing_url, 'HIT');
 
 
       // Verify that after modifying a configurable field on the entity, there
@@ -490,15 +495,15 @@ public function testReferencedEntity() {
       $field_name = $this->entity->getEntityTypeId() . '.' . $this->entity->bundle() . '.configurable_field';
       $field = FieldConfig::load($field_name);
       $field->save();
-      $this->verifyPageCache($referencing_entity_path, 'MISS');
-      $this->verifyPageCache($listing_path, 'MISS');
-      $this->verifyPageCache($empty_entity_listing_path, 'HIT');
-      $this->verifyPageCache($nonempty_entity_listing_path, 'HIT');
-      $this->verifyPageCache($non_referencing_entity_path, 'HIT');
+      $this->verifyPageCache($referencing_entity_url, 'MISS');
+      $this->verifyPageCache($listing_url, 'MISS');
+      $this->verifyPageCache($empty_entity_listing_url, 'HIT');
+      $this->verifyPageCache($nonempty_entity_listing_url, 'HIT');
+      $this->verifyPageCache($non_referencing_entity_url, 'HIT');
 
       // Verify cache hits.
-      $this->verifyPageCache($referencing_entity_path, 'HIT');
-      $this->verifyPageCache($listing_path, 'HIT');
+      $this->verifyPageCache($referencing_entity_url, 'HIT');
+      $this->verifyPageCache($listing_url, 'HIT');
     }
 
 
@@ -507,31 +512,31 @@ public function testReferencedEntity() {
     // entity and the empty entity listing.
     $this->pass("Test invalidation of referenced entity's cache tag.", 'Debug');
     Cache::invalidateTags($this->entity->getCacheTags());
-    $this->verifyPageCache($referencing_entity_path, 'MISS');
-    $this->verifyPageCache($listing_path, 'MISS');
-    $this->verifyPageCache($nonempty_entity_listing_path, 'MISS');
-    $this->verifyPageCache($non_referencing_entity_path, 'HIT');
-    $this->verifyPageCache($empty_entity_listing_path, 'HIT');
+    $this->verifyPageCache($referencing_entity_url, 'MISS');
+    $this->verifyPageCache($listing_url, 'MISS');
+    $this->verifyPageCache($nonempty_entity_listing_url, 'MISS');
+    $this->verifyPageCache($non_referencing_entity_url, 'HIT');
+    $this->verifyPageCache($empty_entity_listing_url, 'HIT');
 
     // Verify cache hits.
-    $this->verifyPageCache($referencing_entity_path, 'HIT');
-    $this->verifyPageCache($listing_path, 'HIT');
-    $this->verifyPageCache($nonempty_entity_listing_path, 'HIT');
+    $this->verifyPageCache($referencing_entity_url, 'HIT');
+    $this->verifyPageCache($listing_url, 'HIT');
+    $this->verifyPageCache($nonempty_entity_listing_url, 'HIT');
 
     // Verify that after invalidating the entity's list cache tag directly,
     // there is a cache miss for both the empty entity listing and the non-empty
     // entity listing routes, but not for other routes.
     $this->pass("Test invalidation of referenced entity's list cache tag.", 'Debug');
     Cache::invalidateTags($this->entity->getEntityType()->getListCacheTags());
-    $this->verifyPageCache($empty_entity_listing_path, 'MISS');
-    $this->verifyPageCache($nonempty_entity_listing_path, 'MISS');
-    $this->verifyPageCache($referencing_entity_path, 'HIT');
-    $this->verifyPageCache($non_referencing_entity_path, 'HIT');
-    $this->verifyPageCache($listing_path, 'HIT');
+    $this->verifyPageCache($empty_entity_listing_url, 'MISS');
+    $this->verifyPageCache($nonempty_entity_listing_url, 'MISS');
+    $this->verifyPageCache($referencing_entity_url, 'HIT');
+    $this->verifyPageCache($non_referencing_entity_url, 'HIT');
+    $this->verifyPageCache($listing_url, 'HIT');
 
     // Verify cache hits.
-    $this->verifyPageCache($empty_entity_listing_path, 'HIT');
-    $this->verifyPageCache($nonempty_entity_listing_path, 'HIT');
+    $this->verifyPageCache($empty_entity_listing_url, 'HIT');
+    $this->verifyPageCache($nonempty_entity_listing_url, 'HIT');
 
 
     if (!empty($view_cache_tag)) {
@@ -540,26 +545,26 @@ public function testReferencedEntity() {
       // listing of referencing entities, but not for other routes.
       $this->pass("Test invalidation of referenced entity's 'view' cache tag.", 'Debug');
       Cache::invalidateTags($view_cache_tag);
-      $this->verifyPageCache($referencing_entity_path, 'MISS');
-      $this->verifyPageCache($listing_path, 'MISS');
-      $this->verifyPageCache($non_referencing_entity_path, 'HIT');
-      $this->verifyPageCache($empty_entity_listing_path, 'HIT');
-      $this->verifyPageCache($nonempty_entity_listing_path, 'HIT');
+      $this->verifyPageCache($referencing_entity_url, 'MISS');
+      $this->verifyPageCache($listing_url, 'MISS');
+      $this->verifyPageCache($non_referencing_entity_url, 'HIT');
+      $this->verifyPageCache($empty_entity_listing_url, 'HIT');
+      $this->verifyPageCache($nonempty_entity_listing_url, 'HIT');
 
       // Verify cache hits.
-      $this->verifyPageCache($referencing_entity_path, 'HIT');
-      $this->verifyPageCache($listing_path, 'HIT');
+      $this->verifyPageCache($referencing_entity_url, 'HIT');
+      $this->verifyPageCache($listing_url, 'HIT');
     }
 
     // Verify that after deleting the entity, there is a cache miss for every
     // route except for the the non-referencing entity one.
     $this->pass('Test deletion of referenced entity.', 'Debug');
     $this->entity->delete();
-    $this->verifyPageCache($referencing_entity_path, 'MISS');
-    $this->verifyPageCache($listing_path, 'MISS');
-    $this->verifyPageCache($empty_entity_listing_path, 'MISS');
-    $this->verifyPageCache($nonempty_entity_listing_path, 'MISS');
-    $this->verifyPageCache($non_referencing_entity_path, 'HIT');
+    $this->verifyPageCache($referencing_entity_url, 'MISS');
+    $this->verifyPageCache($listing_url, 'MISS');
+    $this->verifyPageCache($empty_entity_listing_url, 'MISS');
+    $this->verifyPageCache($nonempty_entity_listing_url, 'MISS');
+    $this->verifyPageCache($non_referencing_entity_url, 'HIT');
 
     // Verify cache hits.
     $referencing_entity_cache_tags = Cache::mergeTags(
@@ -567,10 +572,10 @@ public function testReferencedEntity() {
       \Drupal::entityManager()->getViewBuilder('entity_test')->getCacheTags(),
       ['rendered']
     );
-    $this->verifyPageCache($referencing_entity_path, 'HIT', Cache::mergeTags($referencing_entity_cache_tags, $page_cache_tags));
-    $this->verifyPageCache($listing_path, 'HIT', $page_cache_tags);
-    $this->verifyPageCache($empty_entity_listing_path, 'HIT', $empty_entity_listing_cache_tags);
-    $this->verifyPageCache($nonempty_entity_listing_path, 'HIT', Cache::mergeTags($this->entity->getEntityType()->getListCacheTags(), $this->getAdditionalCacheTagsForEntityListing(), $page_cache_tags));
+    $this->verifyPageCache($referencing_entity_url, 'HIT', Cache::mergeTags($referencing_entity_cache_tags, $page_cache_tags));
+    $this->verifyPageCache($listing_url, 'HIT', $page_cache_tags);
+    $this->verifyPageCache($empty_entity_listing_url, 'HIT', $empty_entity_listing_cache_tags);
+    $this->verifyPageCache($nonempty_entity_listing_url, 'HIT', Cache::mergeTags($this->entity->getEntityType()->getListCacheTags(), $this->getAdditionalCacheTagsForEntityListing(), $page_cache_tags));
   }
 
   /**
diff --git a/core/modules/system/src/Tests/Entity/EntityWithUriCacheTagsTestBase.php b/core/modules/system/src/Tests/Entity/EntityWithUriCacheTagsTestBase.php
index bbc240c747f0862b6095d787f74b70c358a79d75..0c8cd1d0cbeb19008ac8f3209a66ad7e8f0f86fd 100644
--- a/core/modules/system/src/Tests/Entity/EntityWithUriCacheTagsTestBase.php
+++ b/core/modules/system/src/Tests/Entity/EntityWithUriCacheTagsTestBase.php
@@ -24,7 +24,7 @@ abstract class EntityWithUriCacheTagsTestBase extends EntityCacheTagsTestBase {
    * - "<entity_type>:<entity ID>"
    */
   public function testEntityUri() {
-    $entity_url = $this->entity->urlInfo()->setAbsolute()->toString();
+    $entity_url = $this->entity->urlInfo();
     $entity_type = $this->entity->getEntityTypeId();
 
     // Selects the view mode that will be used.
diff --git a/core/modules/tour/src/Tests/TourCacheTagsTest.php b/core/modules/tour/src/Tests/TourCacheTagsTest.php
index d6a537fdc5d5c04e7dc4de048e77459e53049afb..632a6994d229a30256f56c62fc9087be1f902645 100644
--- a/core/modules/tour/src/Tests/TourCacheTagsTest.php
+++ b/core/modules/tour/src/Tests/TourCacheTagsTest.php
@@ -7,6 +7,7 @@
 
 namespace Drupal\tour\Tests;
 
+use Drupal\Core\Url;
 use Drupal\system\Tests\Cache\PageCacheTagsTestBase;
 use Drupal\tour\Entity\Tour;
 use Drupal\user\Entity\Role;
@@ -42,36 +43,36 @@ protected function setUp() {
    * - 'tour:<tour ID>'
    */
   public function testRenderedTour() {
-    $path = 'tour-test-1';
+    $url = Url::fromRoute('tour_test.1');
 
     // Prime the page cache.
-    $this->verifyPageCache($path, 'MISS');
+    $this->verifyPageCache($url, 'MISS');
 
     // Verify a cache hit, but also the presence of the correct cache tags.
     $expected_tags = [
       'config:tour.tour.tour-test',
       'rendered',
     ];
-    $this->verifyPageCache($path, 'HIT', $expected_tags);
+    $this->verifyPageCache($url, 'HIT', $expected_tags);
 
     // Verify that after modifying the tour, there is a cache miss.
     $this->pass('Test modification of tour.', 'Debug');
     Tour::load('tour-test')->save();
-    $this->verifyPageCache($path, 'MISS');
+    $this->verifyPageCache($url, 'MISS');
 
     // Verify a cache hit.
-    $this->verifyPageCache($path, 'HIT', $expected_tags);
+    $this->verifyPageCache($url, 'HIT', $expected_tags);
 
     // Verify that after deleting the tour, there is a cache miss.
     $this->pass('Test deletion of tour.', 'Debug');
     Tour::load('tour-test')->delete();
-    $this->verifyPageCache($path, 'MISS');
+    $this->verifyPageCache($url, 'MISS');
 
     // Verify a cache hit.
     $expected_tags = [
       'rendered',
     ];
-    $this->verifyPageCache($path, 'HIT', $expected_tags);
+    $this->verifyPageCache($url, 'HIT', $expected_tags);
   }
 
 }