blob: 215435c09c3db21e42a3ad6648b9a16ede8fbeba [file] [log] [blame]
# 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 import story
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(story.StorySet):
"""Pages for measuring Chrome power draw."""
def __init__(self):
super(ToughEnergyCasesPageSet, self).__init__(
archive_data_file='data/tough_energy_cases.json',
cloud_storage_bucket=story.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.AddStory(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.AddStory(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.AddStory(CodePenPage(
# 'http://codepen.io/testificate364/debug/zcDdv', self))
# Why: CSS Animation, above the fold
self.AddStory(CodePenPage(
'http://codepen.io/testificate364/debug/nrbDc', self))
# Why: CSS Animation, below the fold
self.AddStory(CodePenPage(
'http://codepen.io/testificate364/debug/fhKCg', self))
# Why: requestAnimationFrame, above the fold
self.AddStory(CodePenPage(
'http://codepen.io/testificate364/debug/paJhg',self))
# Why: requestAnimationFrame, below the fold
self.AddStory(CodePenPage(
'http://codepen.io/testificate364/debug/yaosK', self))
# Why: setTimeout animation, above the fold
self.AddStory(CodePenPage(
'http://codepen.io/testificate364/debug/DLbxg', self))
# Why: setTimeout animation, below the fold
self.AddStory(CodePenPage(
'http://codepen.io/testificate364/debug/kFvpd', self))
# Why: setInterval animation, above the fold
self.AddStory(CodePenPage(
'http://codepen.io/testificate364/debug/lEhyw', self))
# Why: setInterval animation, below the fold
self.AddStory(CodePenPage(
'http://codepen.io/testificate364/debug/zhgBD', self))
# Why: Animated GIF, above the fold
self.AddStory(CodePenPage(
'http://codepen.io/testificate364/debug/jetyn', self))
# Why: Animated GIF, below the fold
self.AddStory(CodePenPage(
'http://codepen.io/testificate364/debug/Kvdxs', self))
# Why: HTML5 video, above the fold
self.AddStory(CodePenPage(
'http://codepen.io/testificate364/debug/lJAiH', self))
# Why: HTML5 video, below the fold
self.AddStory(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.AddStory(CodePenPage(
# 'http://codepen.io/testificate364/debug/pgBHu', self))
# Disabled: pegs CPU too much to get meaningful results.
# Why: Asynchronous XHR continually running
# self.AddStory(CodePenPage(
# 'http://codepen.io/testificate364/debug/iwAfJ', self))
# Disabled: pegs CPU too much to get meaningful results.
# Why: Web Worker continually running
# self.AddStory(CodePenPage(
# 'http://codepen.io/testificate364/debug/ckItK', self))
# Why: flash video
self.AddStory(CodePenPage(
'http://codepen.io/testificate364/debug/slBue', self))
# Why: Blank page in the foreground
self.AddStory(CodePenPage(
'http://codepen.io/testificate364/debug/HdIgr', self))