X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Ftools%2Ftelemetry%2Ftelemetry%2Fpage%2Fpage_measurement.py;h=26bbf1c8ae6d21cc202d8863a157f3e858abd7fc;hb=7d210d4c7e9ba36e635eabc5b5780495f8a63292;hp=dcaa8b0dd6ef08ddce635f772764f93f9d4fe5d6;hpb=42dcc1327bbd3f24706b73963db769f667a58196;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/tools/telemetry/telemetry/page/page_measurement.py b/src/tools/telemetry/telemetry/page/page_measurement.py index dcaa8b0..26bbf1c 100644 --- a/src/tools/telemetry/telemetry/page/page_measurement.py +++ b/src/tools/telemetry/telemetry/page/page_measurement.py @@ -1,90 +1,21 @@ -# Copyright (c) 2012 The Chromium Authors. All rights reserved. +# Copyright 2012 The Chromium Authors. All rights reserved. # 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_test -class MeasurementFailure(page_test.Failure): - """Exception that can be thrown from MeasurePage to indicate an undesired but - designed-for problem.""" - pass - - class PageMeasurement(page_test.PageTest): - """Glue code for running a measurement across a set of pages. - - To use this, subclass from the measurement and override MeasurePage. For - example: - - class BodyChildElementMeasurement(PageMeasurement): - def MeasurePage(self, page, tab, results): - body_child_count = tab.EvaluateJavaScript( - 'document.body.children.length') - results.Add('body_children', 'count', body_child_count) - - if __name__ == '__main__': - page_measurement.Main(BodyChildElementMeasurement()) - - To add test-specific options: - - class BodyChildElementMeasurement(PageMeasurement): - def AddCommandLineArgs(parser): - parser.add_option('--element', action='store', default='body') - - def MeasurePage(self, page, tab, results): - body_child_count = tab.EvaluateJavaScript( - 'document.querySelector('%s').children.length') - results.Add('children', 'count', child_count) - """ + """DEPRECATED: Please extend page_test.PageTest directly.""" def __init__(self, action_name_to_run='', needs_browser_restart_after_each_page=False, discard_first_result=False, - clear_cache_before_each_run=False): + clear_cache_before_each_run=False, + is_action_name_to_run_optional=False): super(PageMeasurement, self).__init__( - '_RunTest', action_name_to_run, needs_browser_restart_after_each_page, discard_first_result, - clear_cache_before_each_run) - - def _RunTest(self, page, tab, results): - results.WillMeasurePage(page) - try: - self.MeasurePage(page, tab, results) - finally: - results.DidMeasurePage() - - @property - def results_are_the_same_on_every_page(self): - """By default, measurements are assumed to output the same values for every - page. This allows incremental output, for example in CSV. If, however, the - measurement discovers what values it can report as it goes, and those values - may vary from page to page, you need to override this function and return - False. Output will not appear in this mode until the entire pageset has - run.""" - return True - - def MeasurePage(self, page, tab, results): - """Override to actually measure the page's performance. - - page is a page_set.Page - tab is an instance of telemetry.core.Tab - - Should call results.Add(name, units, value) for each result, or raise an - exception on failure. The name and units of each Add() call must be - the same across all iterations. The name 'url' must not be used. - - Prefer field names that are in accordance with python variable style. E.g. - field_name. - - Put together: - - def MeasurePage(self, page, tab, results): - res = tab.EvaluateJavaScript('2+2') - if res != 4: - raise Exception('Oh, wow.') - results.Add('two_plus_two', 'count', res) - """ - raise NotImplementedError() + clear_cache_before_each_run, + is_action_name_to_run_optional=is_action_name_to_run_optional)