1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 from telemetry
.page
import page
as page_module
6 from telemetry
.page
import page_set
as page_set_module
9 class KeyHitTestCasesPage(page_module
.Page
):
11 def __init__(self
, url
, page_set
):
12 super(KeyHitTestCasesPage
, self
).__init
__(
13 url
=url
, page_set
=page_set
, credentials_path
= 'data/credentials.json')
14 self
.user_agent_type
= 'mobile'
16 def RunNavigateSteps(self
, action_runner
):
17 super(KeyHitTestCasesPage
, self
).RunNavigateSteps(action_runner
)
20 def RunPageInteractions(self
, action_runner
):
23 self
.TapButton(action_runner
)
26 class PaperCalculatorHitTest(KeyHitTestCasesPage
):
28 def __init__(self
, page_set
):
29 super(PaperCalculatorHitTest
, self
).__init
__(
30 # Generated from https://github.com/zqureshi/paper-calculator
31 # vulcanize --inline --strip paper-calculator/demo.html
32 url
='file://key_hit_test_cases/paper-calculator-no-rendering.html',
35 def TapButton(self
, action_runner
):
36 interaction
= action_runner
.BeginInteraction(
38 action_runner
.TapElement(element_function
='''
39 document.querySelector(
40 'body /deep/ #outerPanels'
43 ).shadowRoot.querySelector(
44 'paper-calculator-key[label="5"]'
49 class KeyHitTestCasesPageSet(page_set_module
.PageSet
):
52 super(KeyHitTestCasesPageSet
, self
).__init
__(
53 user_agent_type
='mobile')
55 self
.AddUserStory(PaperCalculatorHitTest(self
))