OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 # pylint: disable=W0401,W0614 | 4 # pylint: disable=W0401,W0614 |
5 from telemetry.page.actions.all_page_actions import * | 5 from telemetry.page.actions.all_page_actions import * |
6 from telemetry.page import page as page_module | 6 from telemetry.page import page as page_module |
7 from telemetry.page import page_set as page_set_module | 7 from telemetry.page import page_set as page_set_module |
8 | 8 |
9 | 9 |
| 10 def _GetCurrentLocation(action_runner): |
| 11 return action_runner.EvaluateJavaScript('document.location.href') |
| 12 |
| 13 |
| 14 def _WaitForLocationChange(action_runner, old_href): |
| 15 action_runner.WaitForJavaScriptCondition( |
| 16 'document.location.href != "%s"' % old_href) |
| 17 |
| 18 |
10 class GmailAltTwoLabelsPage(page_module.Page): | 19 class GmailAltTwoLabelsPage(page_module.Page): |
11 | 20 |
12 """ Why: Alternate between Inbox and Sent Mail """ | 21 """ Why: Alternate between Inbox and Sent Mail """ |
13 | 22 |
14 def __init__(self, page_set): | 23 def __init__(self, page_set): |
15 super(GmailAltTwoLabelsPage, self).__init__( | 24 super(GmailAltTwoLabelsPage, self).__init__( |
16 url='https://mail.google.com/mail/', | 25 url='https://mail.google.com/mail/', |
17 page_set=page_set, | 26 page_set=page_set, |
18 name='gmail_alt_two_labels') | 27 name='gmail_alt_two_labels') |
19 | 28 |
20 self.credentials_path = 'data/credentials.json' | 29 self.credentials_path = 'data/credentials.json' |
21 self.credentials = 'google' | 30 self.credentials = 'google' |
22 self.user_agent_type = 'desktop' | 31 self.user_agent_type = 'desktop' |
23 self.archive_data_file = 'data/gmail_alt_two_labels.json' | 32 self.archive_data_file = 'data/gmail_alt_two_labels.json' |
24 | 33 |
25 def RunNavigateSteps(self, action_runner): | 34 def RunNavigateSteps(self, action_runner): |
26 action_runner.NavigateToPage(self) | 35 action_runner.NavigateToPage(self) |
27 action_runner.WaitForJavaScriptCondition( | 36 action_runner.WaitForJavaScriptCondition( |
28 'window.gmonkey !== undefined && ' | 37 'window.gmonkey !== undefined && ' |
29 'document.getElementById("gb") !== null') | 38 'document.getElementById("gb") !== null') |
30 | 39 |
31 def RunEndure(self, action_runner): | 40 def RunEndure(self, action_runner): |
32 action_runner.RunAction(ClickElementAction( | 41 old_href = _GetCurrentLocation(action_runner) |
33 { | 42 action_runner.ClickElement( |
34 'wait_until': {'condition': 'href_change'}, | 43 'a[href="https://mail.google.com/mail/u/0/?shva=1#sent"]') |
35 'selector': 'a[href="https://mail.google.com/mail/u/0/?shva=1#sent"]' | 44 _WaitForLocationChange(action_runner, old_href) |
36 })) | |
37 action_runner.Wait(1) | 45 action_runner.Wait(1) |
38 action_runner.RunAction(ClickElementAction( | 46 old_href = _GetCurrentLocation(action_runner) |
39 { | 47 action_runner.ClickElement( |
40 'wait_until': {'condition': 'href_change'}, | 48 'a[href="https://mail.google.com/mail/u/0/?shva=1#inbox"]') |
41 'selector': 'a[href="https://mail.google.com/mail/u/0/?shva=1#inbox"]' | 49 _WaitForLocationChange(action_runner, old_href) |
42 })) | |
43 action_runner.Wait(1) | 50 action_runner.Wait(1) |
44 | 51 |
45 | 52 |
46 class GmailAltTwoLabelsPageSet(page_set_module.PageSet): | 53 class GmailAltTwoLabelsPageSet(page_set_module.PageSet): |
47 | 54 |
48 """ Chrome Endure test for GMail. """ | 55 """ Chrome Endure test for GMail. """ |
49 | 56 |
50 def __init__(self): | 57 def __init__(self): |
51 super(GmailAltTwoLabelsPageSet, self).__init__( | 58 super(GmailAltTwoLabelsPageSet, self).__init__( |
52 credentials_path='data/credentials.json', | 59 credentials_path='data/credentials.json', |
53 user_agent_type='desktop', | 60 user_agent_type='desktop', |
54 archive_data_file='data/gmail_alt_two_labels.json') | 61 archive_data_file='data/gmail_alt_two_labels.json') |
55 | 62 |
56 self.AddPage(GmailAltTwoLabelsPage(self)) | 63 self.AddPage(GmailAltTwoLabelsPage(self)) |
OLD | NEW |