Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(135)

Unified Diff: tools/perf/page_sets/startup_pages.py

Issue 1435243002: Re-implements start_with_url.* benchmarks as start_with_url2.* using TBM (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@b00
Patch Set: Fixes pasko's nits Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/perf/benchmarks/start_with_url2.py ('k') | tools/telemetry/telemetry/web_perf/metrics/startup.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/perf/page_sets/startup_pages.py
diff --git a/tools/perf/page_sets/startup_pages.py b/tools/perf/page_sets/startup_pages.py
index 2ca04aedf73f41e514553b414202257a246d1f4b..5678b54dd30954b609eb7694a246d92a9b8f03cc 100644
--- a/tools/perf/page_sets/startup_pages.py
+++ b/tools/perf/page_sets/startup_pages.py
@@ -2,9 +2,22 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from telemetry.page import page as page_module
+from telemetry.page import shared_page_state
from telemetry import story
+class BrowserStartupSharedState(shared_page_state.SharedPageState):
+ """Shared state that restarts the browser for every single story."""
+
+ def __init__(self, test, finder_options, story_set):
+ super(BrowserStartupSharedState, self).__init__(
+ test, finder_options, story_set)
+
+ def DidRunStory(self, results):
+ super(BrowserStartupSharedState, self).DidRunStory(results)
+ self._StopBrowser()
+
+
class StartedPage(page_module.Page):
def __init__(self, url, startup_url, page_set):
@@ -39,3 +52,42 @@ class StartupPagesPageSet(story.StorySet):
# Horribly complex page - stress test!
self.AddStory(StartedPage(
'http://kapook.com', 'http://kapook.com', self))
+
+
+class StartedPageTBM(page_module.Page):
+
+ def __init__(self, url, page_set):
+ super(StartedPageTBM, self).__init__(
+ url=url, page_set=page_set, startup_url=url,
+ shared_page_state_class=BrowserStartupSharedState)
+ self.archive_data_file = 'data/startup_pages.json'
+
+ def RunNavigateSteps(self, action_runner):
+ # Do not call super.RunNavigateSteps() to avoid reloading the page that has
+ # already been opened with startup_url.
+
+ # TODO(gabadie): Get rid of this (crbug.com/555504)
+ action_runner.Wait(10)
+
+ def RunPageInteractions(self, action_runner):
+ self.RunNavigateSteps(action_runner)
+
+
+class StartupPagesPageSetTBM(story.StorySet):
+ """Pages for testing starting Chrome with a URL.
+
+ Note that this file can't be used with record_wpr, since record_wpr requires
+ a true navigate step, which we do not want for startup testing. Instead use
+ record_wpr startup_pages_record to record data for this test."""
+
+ def __init__(self):
+ super(StartupPagesPageSetTBM, self).__init__(
+ archive_data_file='data/startup_pages.json',
+ cloud_storage_bucket=story.PARTNER_BUCKET)
+
+ # Typical page.
+ self.AddStory(StartedPageTBM('about:blank', self))
+ # Typical page.
+ self.AddStory(StartedPageTBM('http://bbc.co.uk', self))
+ # Horribly complex page - stress test!
+ self.AddStory(StartedPageTBM('http://kapook.com', self))
« no previous file with comments | « tools/perf/benchmarks/start_with_url2.py ('k') | tools/telemetry/telemetry/web_perf/metrics/startup.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698