diff options
author | ariblue@google.com <ariblue@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-31 11:54:33 +0000 |
---|---|---|
committer | ariblue@google.com <ariblue@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-31 11:54:33 +0000 |
commit | 334423f81938d57ac960b7ecd1f9bede6c74adb8 (patch) | |
tree | e33fb137a0cae0e6829922b18cbe52767716b250 /tools/telemetry | |
parent | b0c3f477e28325e46daccd08ba887f3a6ce150b9 (diff) | |
download | chromium_src-334423f81938d57ac960b7ecd1f9bede6c74adb8.zip chromium_src-334423f81938d57ac960b7ecd1f9bede6c74adb8.tar.gz chromium_src-334423f81938d57ac960b7ecd1f9bede6c74adb8.tar.bz2 |
Add {Will,Did}StartBrowser to record_wpr.
Needed for PageMeasurements that assume a self._power_metric is created during the WillStartBrowser step.
BUG=
Review URL: https://codereview.chromium.org/427093002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286744 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/telemetry')
-rwxr-xr-x | tools/telemetry/telemetry/page/record_wpr.py | 12 | ||||
-rw-r--r-- | tools/telemetry/telemetry/page/record_wpr_unittest.py | 34 |
2 files changed, 35 insertions, 11 deletions
diff --git a/tools/telemetry/telemetry/page/record_wpr.py b/tools/telemetry/telemetry/page/record_wpr.py index 92cdad9..a0c19bc 100755 --- a/tools/telemetry/telemetry/page/record_wpr.py +++ b/tools/telemetry/telemetry/page/record_wpr.py @@ -39,6 +39,14 @@ class RecorderPageTest(page_test.PageTest): # pylint: disable=W0223 if self.page_test: self.page_test.DidNavigateToPage(page, tab) + def WillStartBrowser(self, browser): + if self.page_test: + self.page_test.WillStartBrowser(browser) + + def DidStartBrowser(self, browser): + if self.page_test: + self.page_test.DidStartBrowser(browser) + def WillRunActions(self, page, tab): if self.page_test: self.page_test.WillRunActions(page, tab) @@ -133,6 +141,10 @@ class WprRecorder(object): def options(self): return self._options + @property + def page_test(self): + return self._record_page_test.page_test if self._benchmark else None + def _CreateOptions(self): options = browser_options.BrowserFinderOptions() options.browser_options.wpr_mode = wpr_modes.WPR_RECORD diff --git a/tools/telemetry/telemetry/page/record_wpr_unittest.py b/tools/telemetry/telemetry/page/record_wpr_unittest.py index c8de3ed..fb48125 100644 --- a/tools/telemetry/telemetry/page/record_wpr_unittest.py +++ b/tools/telemetry/telemetry/page/record_wpr_unittest.py @@ -16,6 +16,7 @@ from telemetry.unittest import tab_test_case class MockPage(page_module.Page): + def __init__(self, page_set, url): super(MockPage, self).__init__(url=url, page_set=page_set, @@ -37,20 +38,22 @@ class MockPage(page_module.Page): class MockPageSet(page_set_module.PageSet): + def __init__(self, url=''): super(MockPageSet, self).__init__(archive_data_file='data/test.json') self.AddPage(MockPage(self, url)) class MockPageTest(page_test.PageTest): + def __init__(self): super(MockPageTest, self).__init__() - self._action_name_to_run = "RunBaz" + self._action_name_to_run = 'RunBaz' self.func_calls = [] @classmethod def AddCommandLineArgs(cls, parser): - parser.add_option('--mock-page-test-option', action="store_true") + parser.add_option('--mock-page-test-option', action='store_true') def WillNavigateToPage(self, page, tab): self.func_calls.append('WillNavigateToPage') @@ -58,6 +61,12 @@ class MockPageTest(page_test.PageTest): def DidNavigateToPage(self, page, tab): self.func_calls.append('DidNavigateToPage') + def WillStartBrowser(self, browser): + self.func_calls.append('WillStartBrowser') + + def DidStartBrowser(self, browser): + self.func_calls.append('DidStartBrowser') + def WillRunActions(self, page, tab): self.func_calls.append('WillRunActions') @@ -77,7 +86,7 @@ class MockBenchmark(benchmark.Benchmark): def CreatePageSet(self, options): kwargs = {} - if (options.mock_benchmark_url): + if options.mock_benchmark_url: kwargs['url'] = options.mock_benchmark_url return MockPageSet(**kwargs) @@ -98,7 +107,7 @@ class RecordWprUnitTests(tab_test_case.TabTestCase): # When the RecorderPageTest is created from a PageSet, we do not have a # PageTest to use. In this case, we will record every available action. def testRunPage_AllActions(self): - record_page_test = record_wpr.RecorderPageTest(["RunFoo", "RunBar"]) + record_page_test = record_wpr.RecorderPageTest(['RunFoo', 'RunBar']) page = MockPage(page_set=MockPageSet(url=self._url), url=self._url) record_page_test.RunPage(page, self._tab, results=None) self.assertTrue('RunFoo' in page.func_calls) @@ -106,13 +115,13 @@ class RecordWprUnitTests(tab_test_case.TabTestCase): self.assertFalse('RunBaz' in page.func_calls) def testRunPage_DontReloadSingleActions(self): - record_page_test = record_wpr.RecorderPageTest(["RunFoo"]) + record_page_test = record_wpr.RecorderPageTest(['RunFoo']) page = MockPage(page_set=MockPageSet(url=self._url), url=self._url) record_page_test.RunPage(page, self._tab, results=None) self.assertFalse('RunNavigateSteps' in page.func_calls) def testRunPage_ReloadPageBetweenActions(self): - record_page_test = record_wpr.RecorderPageTest(["RunFoo", "RunBar"]) + record_page_test = record_wpr.RecorderPageTest(['RunFoo', 'RunBar']) page = MockPage(page_set=MockPageSet(url=self._url), url=self._url) record_page_test.RunPage(page, self._tab, results=None) self.assertTrue('RunNavigateSteps' in page.func_calls) @@ -120,7 +129,7 @@ class RecordWprUnitTests(tab_test_case.TabTestCase): # When the RecorderPageTest is created from a Benchmark, the benchmark will # have a PageTest, specified by its test attribute. def testRunPage_OnlyRunBenchmarkAction(self): - record_page_test = record_wpr.RecorderPageTest(["RunFoo"]) + record_page_test = record_wpr.RecorderPageTest(['RunFoo']) record_page_test.page_test = MockBenchmark().test() page = MockPage(page_set=MockPageSet(url=self._url), url=self._url) record_page_test.RunPage(page, self._tab, results=None) @@ -132,10 +141,8 @@ class RecordWprUnitTests(tab_test_case.TabTestCase): record_page_test.page_test = MockBenchmark().test() page = MockPage(page_set=MockPageSet(url=self._url), url=self._url) record_page_test.RunPage(page, self._tab, results=None) - self.assertEqual(3, len(record_page_test.page_test.func_calls)) - self.assertEqual('WillRunActions', record_page_test.page_test.func_calls[0]) - self.assertEqual('DidRunActions', record_page_test.page_test.func_calls[1]) - self.assertEqual('ValidatePage', record_page_test.page_test.func_calls[2]) + self.assertEqual(['WillRunActions', 'DidRunActions', 'ValidatePage'], + record_page_test.page_test.func_calls) def testWprRecorderWithPageSet(self): flags = [] @@ -156,6 +163,11 @@ class RecordWprUnitTests(tab_test_case.TabTestCase): mock_page = results.successes.pop() self.assertFalse('RunFoo' in mock_page.func_calls) self.assertTrue('RunBaz' in mock_page.func_calls) + self.assertEqual(['WillStartBrowser', 'DidStartBrowser', + 'WillNavigateToPage', 'DidNavigateToPage', + 'WillRunActions', 'DidRunActions', + 'ValidatePage'], + wpr_recorder.page_test.func_calls) def testCommandLineFlags(self): flags = [ |