tough_energy_cases.py revision 010d83a9304c5a91596085d917d248abff47903a
1a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch# Copyright 2014 The Chromium Authors. All rights reserved.
2a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch# Use of this source code is governed by a BSD-style license that can be
3a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch# found in the LICENSE file.
4a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch# pylint: disable=W0401,W0614
5a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochfrom telemetry.page.actions.all_page_actions import *
6a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochfrom telemetry.page import page as page_module
7a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochfrom telemetry.page import page_set as page_set_module
8a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
9a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
10010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)class ToughEnergyCasesPage(page_module.Page):
11a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
12a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  def __init__(self, url, page_set):
13a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    super(ToughEnergyCasesPage, self).__init__(url=url, page_set=page_set)
14a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    self.credentials_path = 'data/credentials.json'
15a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    self.archive_data_file = 'data/tough_energy_cases.json'
16a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
17a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
18a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochclass GmailPage(ToughEnergyCasesPage):
19a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
20a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  """ Why: productivity, top google properties """
21a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
22a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  def __init__(self, page_set):
23a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    super(GmailPage, self).__init__(
24a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch      url='https://mail.google.com/mail/',
25a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch      page_set=page_set)
26a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
27a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    self.credentials = 'google'
28a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
29a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  def RunNavigateSteps(self, action_runner):
30a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    action_runner.RunAction(NavigateAction())
31a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    action_runner.RunAction(WaitAction(
32a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch      {
33a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch        'javascript': (
34a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch          'window.gmonkey !== undefined &&'
35a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch          'document.getElementById("gb") !== null')
36a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch      }))
37a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
38a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
39a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochclass ToughEnergyCasesPageSet(page_set_module.PageSet):
40a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
41a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  """ Pages for measuring Chrome power draw. """
42a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
43a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  def __init__(self):
44a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    super(ToughEnergyCasesPageSet, self).__init__(
45a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch      credentials_path='data/credentials.json',
46a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch      archive_data_file='data/tough_energy_cases.json')
47a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
48a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    # Why: Above the fold animated gif running in the background
49a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    self.AddPage(ToughEnergyCasesPage(
50a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch      'file://tough_energy_cases/above-fold-animated-gif.html',
51a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch      self))
52a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    self.AddPage(GmailPage(self))
53a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    # Why: Below the fold animated gif
54a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    self.AddPage(ToughEnergyCasesPage(
55a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch      'file://tough_energy_cases/below-fold-animated-gif.html',
56a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch      self))
57a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    # Why: Below the fold flash animation
58a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    self.AddPage(ToughEnergyCasesPage(
59a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch      'file://tough_energy_cases/below-fold-flash.html',
60a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch      self))
61