| Index: tools/perf/page_sets/polymer.py
|
| diff --git a/tools/perf/page_sets/polymer.py b/tools/perf/page_sets/polymer.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cb80d347ffebc984f8c7c076ade6a6613cc8b04e
|
| --- /dev/null
|
| +++ b/tools/perf/page_sets/polymer.py
|
| @@ -0,0 +1,84 @@
|
| +# Copyright 2014 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.
|
| +# pylint: disable=W0401,W0614
|
| +from telemetry.page.actions.all_page_actions import *
|
| +from telemetry.page import page as page_module
|
| +from telemetry.page import page_set as page_set_module
|
| +
|
| +class PolymerCalculatorPage(page_module.PageWithDefaultRunNavigate):
|
| +
|
| + def __init__(self, page_set):
|
| + super(PolymerCalculatorPage, self).__init__(
|
| + url='http://localhost:8000/components/paper-calculator/demo.html',
|
| + page_set=page_set)
|
| + self.user_agent_type = 'mobile'
|
| + self.archive_data_file = 'data/polymer.json'
|
| +
|
| + def RunNavigateSteps(self, action_runner):
|
| + action_runner.RunAction(NavigateAction())
|
| + action_runner.RunAction(WaitAction(
|
| + {
|
| + 'seconds': 2
|
| + }))
|
| +
|
| + def RunSmoothness(self, action_runner):
|
| + self.TapButton(action_runner)
|
| + self.SlidePanel(action_runner)
|
| +
|
| + def TapButton(self, action_runner):
|
| + action_runner.RunAction(TapAction(
|
| + {
|
| + 'element_function': '''
|
| + function(callback) {
|
| + callback(
|
| + document.querySelector(
|
| + 'body /deep/ #outerPanels'
|
| + ).querySelector(
|
| + '#standard'
|
| + ).shadowRoot.querySelector(
|
| + 'paper-calculator-key[label="5"]'
|
| + )
|
| + );
|
| + }''',
|
| + 'wait_after': { 'seconds': 2 }
|
| + }))
|
| +
|
| + def SlidePanel(self, action_runner):
|
| + action_runner.RunAction(SwipeAction(
|
| + {
|
| + 'left_start_percentage': 0.1,
|
| + 'distance': 300,
|
| + 'direction': 'left',
|
| + 'wait_after': {
|
| + 'javascript': '''
|
| + document.querySelector(
|
| + 'body /deep/ #outerPanels'
|
| + ).hasAttribute('opened')
|
| + '''
|
| + },
|
| + 'top_start_percentage': 0.2,
|
| + 'element_function': '''
|
| + function(callback) {
|
| + callback(
|
| + document.querySelector(
|
| + 'body /deep/ #outerPanels'
|
| + ).querySelector(
|
| + '#advanced'
|
| + ).shadowRoot.querySelector(
|
| + '.handle-bar'
|
| + )
|
| + );
|
| + }''',
|
| + 'speed': 5000
|
| + }))
|
| +
|
| +
|
| +class PolymerPageSet(page_set_module.PageSet):
|
| +
|
| + def __init__(self):
|
| + super(PolymerPageSet, self).__init__(
|
| + user_agent_type='mobile',
|
| + archive_data_file='data/polymer.json')
|
| +
|
| + self.AddPage(PolymerCalculatorPage(self))
|
|
|