blob: 911a393563a70c83fa956e5e8eb2bdcbc3a6b1f6 [file] [log] [blame]
# Copyright 2012 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Description
# This test runs a load test consisting of cycling though web pages, playing
# videos, etc. and measures battery power draw. The duration of this test is
# determined by the seconds variable.
# The following manual steps need to be performed on the device under test
# before this test can be run:
# - make sure that Ethernet cable is disconnected and WiFi is connected
# - disconnect power cable
NAME = "power_LoadTest.email_1hour"
METADATA = {
"contacts": ["cros-power-notifications@google.com"],
"author": "ChromeOS Team",
"bug_component": "b:1361410",
"criteria": "This test is a benchmark test",
"hw_agnostic": False,
}
ATTRIBUTES = ""
TEST_TYPE = "client"
# TODO (bleung): Find a way to do automatic Facebook login for test account.
# TODO (tbroch): Find way to not replicate all these parameters that are common
# between this control file and the original
loop_time = 3600
loop_count = 1
# Task format:
# This sets the tasks variable in the extension directly via javascript.
#
# Args:
# type: [window, cycle] Window will open a window with tabs for the duration of
# the window. Cycle will cycle through the urls for the duration of the window
# every delay ms.
# name: name of the window
# start: start time (ms)
# duration: duration of task (ms)
# delay: time for each url for the cycle type (ms)
# timeout: time before loading a url times out for the cycle type (ms)
# focus: whether the window should be in the foreground
# tabs: list of urls for the window type
# urls: list of urls to cycle through for the cycle type
tasks = """
[
{
type: 'window',
name: 'background',
start: 0,
duration: minutes(60),
focus: false,
tabs: [
'https://www.google.com/search?q=google',
'https://news.google.com',
'https://www.reddit.com',
'https://www.amazon.com',
'https://www.instagram.com/instagram',
],
},
{
type: 'cycle',
name: 'email',
start: seconds(1),
duration: minutes(60),
delay: minutes(5),
timeout: seconds(10),
focus: true,
urls: [
'http://gmail.com',
'http://mail.google.com',
],
},
{
type: 'cycle',
name: 'audio',
start: 0,
duration: minutes(60),
delay: minutes(12),
timeout: seconds(10),
focus: false,
urls: [
'http://www.bbc.co.uk/worldservice/audioconsole/?stream=live',
'http://www.npr.org/templates/player/mediaPlayer.html?action=3&t=live1',
'http://www.cbc.ca/radio2/channels/popup.html?stream=classical',
],
},
]
"""
args_dict = utils.args_to_dict(args)
pdash_note = args_dict.get('pdash_note', '')
job.run_test('power_LoadTest', loop_time=loop_time, loop_count=loop_count,
test_low_batt_p=6, tasks=tasks, tag=NAME.split('.')[1],
pdash_note=pdash_note)