blob: 955e219b92519012f64cb518c691cc6ec03d2948 [file] [log] [blame]
# 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.
from telemetry import story
from page_sets import polymer
class PaperCalculatorHitTest(polymer.PolymerPage):
def __init__(self, page_set):
super(PaperCalculatorHitTest, self).__init__(
# Generated from https://github.com/zqureshi/paper-calculator
# vulcanize --inline --strip paper-calculator/demo.html
url='file://key_hit_test_cases/paper-calculator-no-rendering.html',
page_set=page_set, run_no_page_interactions=False)
def PerformPageInteractions(self, action_runner):
# pay cost of selecting tap target only once
action_runner.ExecuteJavaScript2('''
window.__tapTarget = document.querySelector(
'body /deep/ #outerPanels'
).querySelector(
'#standard'
).shadowRoot.querySelector(
'paper-calculator-key[label="5"]'
)''')
action_runner.WaitForJavaScriptCondition2(
'window.__tapTarget != null')
for _ in xrange(100):
self.TapButton(action_runner)
def TapButton(self, action_runner):
with action_runner.CreateInteraction('Action_TapAction'):
action_runner.TapElement(element_function='''window.__tapTarget''')
class KeyHitTestCasesPageSet(story.StorySet):
def __init__(self):
super(KeyHitTestCasesPageSet, self).__init__()
self.AddStory(PaperCalculatorHitTest(self))