1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
# 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.page import page as page_module
from telemetry.page import page_set as page_set_module
class ToughEnergyCasesPage(page_module.Page):
def __init__(self, url, page_set):
super(ToughEnergyCasesPage, self).__init__(
url=url, page_set=page_set, credentials_path = 'data/credentials.json')
class CodePenPage(ToughEnergyCasesPage):
def __init__(self, url, page_set):
super(CodePenPage, self).__init__(url, page_set)
self.credentials = 'codepen'
class GooglePage(ToughEnergyCasesPage):
def __init__(self, url, page_set):
super(GooglePage, self).__init__(
url=url,
page_set=page_set)
self.credentials = 'google2'
def RunNavigateSteps(self, action_runner):
super(GooglePage, self).RunNavigateSteps(action_runner)
action_runner.WaitForJavaScriptCondition(
'window.gmonkey !== undefined &&'
'document.getElementById("gb") !== null')
class ToughEnergyCasesPageSet(page_set_module.PageSet):
"""Pages for measuring Chrome power draw."""
def __init__(self):
super(ToughEnergyCasesPageSet, self).__init__(
archive_data_file='data/tough_energy_cases.json',
bucket=page_set_module.PARTNER_BUCKET)
# TODO: this part of the test is disabled because it fails when
# run with replay data and not with live data. See crbug.com/465692
# for complete details.
# Why: productivity, top google properties
#self.AddUserStory(GooglePage('https://mail.google.com/mail/', self))
# Disabled: pegs CPU too much to get meaningful results.
# Why: Image constantly changed in the background, above the fold
# self.AddUserStory(CodePenPage(
# 'http://codepen.io/testificate364/debug/eIutG', self))
# Disabled: pegs CPU too much to get meaningful results.
# Why: Image constantly changed in the background, below the fold
# self.AddUserStory(CodePenPage(
# 'http://codepen.io/testificate364/debug/zcDdv', self))
# Why: CSS Animation, above the fold
self.AddUserStory(CodePenPage(
'http://codepen.io/testificate364/debug/nrbDc', self))
# Why: CSS Animation, below the fold
self.AddUserStory(CodePenPage(
'http://codepen.io/testificate364/debug/fhKCg', self))
# Why: requestAnimationFrame, above the fold
self.AddUserStory(CodePenPage(
'http://codepen.io/testificate364/debug/paJhg',self))
# Why: requestAnimationFrame, below the fold
self.AddUserStory(CodePenPage(
'http://codepen.io/testificate364/debug/yaosK', self))
# Why: setTimeout animation, above the fold
self.AddUserStory(CodePenPage(
'http://codepen.io/testificate364/debug/DLbxg', self))
# Why: setTimeout animation, below the fold
self.AddUserStory(CodePenPage(
'http://codepen.io/testificate364/debug/kFvpd', self))
# Why: setInterval animation, above the fold
self.AddUserStory(CodePenPage(
'http://codepen.io/testificate364/debug/lEhyw', self))
# Why: setInterval animation, below the fold
self.AddUserStory(CodePenPage(
'http://codepen.io/testificate364/debug/zhgBD', self))
# Why: Animated GIF, above the fold
self.AddUserStory(CodePenPage(
'http://codepen.io/testificate364/debug/jetyn', self))
# Why: Animated GIF, below the fold
self.AddUserStory(CodePenPage(
'http://codepen.io/testificate364/debug/Kvdxs', self))
# Why: HTML5 video, above the fold
self.AddUserStory(CodePenPage(
'http://codepen.io/testificate364/debug/lJAiH', self))
# Why: HTML5 video, below the fold
self.AddUserStory(CodePenPage(
'http://codepen.io/testificate364/debug/EFceH', self))
# Disabled: pegs CPU too much to get meaningful results.
# Why: PostMessage between frames, above the fold
# self.AddUserStory(CodePenPage(
# 'http://codepen.io/testificate364/debug/pgBHu', self))
# Disabled: pegs CPU too much to get meaningful results.
# Why: Asynchronous XHR continually running
# self.AddUserStory(CodePenPage(
# 'http://codepen.io/testificate364/debug/iwAfJ', self))
# Disabled: pegs CPU too much to get meaningful results.
# Why: Web Worker continually running
# self.AddUserStory(CodePenPage(
# 'http://codepen.io/testificate364/debug/ckItK', self))
# Why: flash video
self.AddUserStory(CodePenPage(
'http://codepen.io/testificate364/debug/slBue', self))
# Why: Blank page in the foreground
self.AddUserStory(CodePenPage(
'http://codepen.io/testificate364/debug/HdIgr', self))
|