Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / tools / perf / page_sets / calendar_forward_backward.py
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.
4 # pylint: disable=W0401,W0614
5 from telemetry.page.actions.all_page_actions import *
6 from telemetry.page import page as page_module
7 from telemetry.page import page_set as page_set_module
8
9
10 class CalendarForwardBackwardPage(page_module.Page):
11
12   """ Why: Click forward(4x) and backwards(4x) repeatedly """
13
14   def __init__(self, page_set):
15     super(CalendarForwardBackwardPage, self).__init__(
16       url='https://www.google.com/calendar/',
17       page_set=page_set,
18       name='calendar_forward_backward')
19     self.credentials_path = 'data/credentials.json'
20     self.credentials = 'google'
21     self.user_agent_type = 'desktop'
22     self.archive_data_file = 'data/calendar_forward_backward.json'
23
24   def RunNavigateSteps(self, action_runner):
25     action_runner.RunAction(NavigateAction())
26     action_runner.RunAction(WaitAction(
27       {
28         'seconds': 2
29       }))
30     action_runner.RunAction(WaitAction(
31       {
32         'condition': 'element',
33         'selector': 'div[class~="navForward"]'
34       }))
35     action_runner.RunAction(JavascriptAction(
36       {
37         'expression': '''
38           (function() {
39             var elem = document.createElement('meta');
40             elem.name='viewport';
41             elem.content='initial-scale=1';
42             document.body.appendChild(elem);
43           })();'''
44       }))
45
46   def RunEndure(self, action_runner):
47     action_runner.RunAction(ClickElementAction(
48       {
49         'selector': 'div[class~="navForward"]'
50       }))
51     action_runner.RunAction(WaitAction(
52       {
53         'seconds': 2
54       }))
55     action_runner.RunAction(WaitAction(
56       {
57         'condition': 'element',
58         'selector': 'div[class~="navForward"]'
59       }))
60     action_runner.RunAction(ClickElementAction(
61       {
62         'selector': 'div[class~="navForward"]'
63       }))
64     action_runner.RunAction(WaitAction(
65       {
66         'seconds': 2
67       }))
68     action_runner.RunAction(WaitAction(
69       {
70         'condition': 'element',
71         'selector': 'div[class~="navForward"]'
72       }))
73     action_runner.RunAction(ClickElementAction(
74       {
75         'selector': 'div[class~="navForward"]'
76       }))
77     action_runner.RunAction(WaitAction(
78       {
79         'seconds': 2
80       }))
81     action_runner.RunAction(WaitAction(
82       {
83         'condition': 'element',
84         'selector': 'div[class~="navForward"]'
85       }))
86     action_runner.RunAction(ClickElementAction(
87       {
88         'selector': 'div[class~="navForward"]'
89       }))
90     action_runner.RunAction(WaitAction(
91       {
92         'seconds': 2
93       }))
94     action_runner.RunAction(WaitAction(
95       {
96         'condition': 'element',
97         'selector': 'div[class~="navBack"]'
98       }))
99     action_runner.RunAction(ClickElementAction(
100       {
101         'selector': 'div[class~="navBack"]'
102       }))
103     action_runner.RunAction(WaitAction(
104       {
105         'seconds': 2
106       }))
107     action_runner.RunAction(WaitAction(
108       {
109         'condition': 'element',
110         'selector': 'div[class~="navBack"]'
111       }))
112     action_runner.RunAction(ClickElementAction(
113       {
114         'selector': 'div[class~="navBack"]'
115       }))
116     action_runner.RunAction(WaitAction(
117       {
118         'seconds': 2
119       }))
120     action_runner.RunAction(WaitAction(
121       {
122         'condition': 'element',
123         'selector': 'div[class~="navBack"]'
124       }))
125     action_runner.RunAction(ClickElementAction(
126       {
127         'selector': 'div[class~="navBack"]'
128       }))
129     action_runner.RunAction(WaitAction(
130       {
131         'seconds': 2
132       }))
133     action_runner.RunAction(WaitAction(
134       {
135         'condition': 'element',
136         'selector': 'div[class~="navBack"]'
137       }))
138     action_runner.RunAction(ClickElementAction(
139       {
140         'selector': 'div[class~="navBack"]'
141       }))
142     action_runner.RunAction(WaitAction(
143       {
144         'seconds': 2
145       }))
146     action_runner.RunAction(WaitAction(
147       {
148         'condition': 'element',
149         'selector': 'div[class~="navForward"]'
150       }))
151
152
153 class CalendarForwardBackwardPageSet(page_set_module.PageSet):
154
155   """ Chrome Endure test for Google Calendar. """
156
157   def __init__(self):
158     super(CalendarForwardBackwardPageSet, self).__init__(
159       credentials_path='data/credentials.json',
160       user_agent_type='desktop',
161       archive_data_file='data/calendar_forward_backward.json')
162
163     self.AddPage(CalendarForwardBackwardPage(self))