| # Copyright (c) 2011 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| AUTHOR = "Chrome OS Team" |
| NAME = "power_LoadTest" |
| PURPOSE = "Measure power draw when system is under load." |
| CRITERIA = "This test is a benchmark." |
| TIME = "LONG" |
| TEST_CATEGORY = "Benchmark" |
| TEST_CLASS = "power" |
| TEST_TYPE = "client" |
| |
| DOC = """ |
| 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 |
| |
| You are now ready to run the test. |
| """ |
| |
| # TODO (bleung): Find a way to do automatic Facebook login for test account. |
| |
| import time |
| |
| loop_time = 3600 |
| loop_count = 11 |
| |
| # To specify a list of custom tasks, pass in the task parameter: |
| # tasks='<task00>&<task01>+<task10>&<task11>+<task20>&<task21>+...' |
| # |
| # Use '+' to link together tasks sequentially, and '&' to indicate tasks that |
| # should be run in parallel. |
| |
| # Task format: |
| # - Open a window with some tabs, keep them open for some time: |
| # window;<comma-delimited urls>;<duration> |
| # - Cycle through a list of sites one at a time, for a total duration, and a |
| # given delay on each site. |
| # cycle;<comma-delimited urls>;<duration>;<delay> |
| # |
| # Duration and delay are given in seconds. With sequential tasks, if |
| # task0.duration=1800 and task1.duration=1200, task0 will run for 30 minutes, |
| # followed by task1 for 20 minutes, for a total of 50 minutes. |
| # |
| # Example: Use the 'tasks' string below. Pass 'tasks=tasks' as an argument into |
| # job.run_test(). |
| |
| tasks='window;http://www.cnn.com,http://www.ebay.com,http://www.msn.com;900' + \ |
| ' & ' + \ |
| 'cycle;http://www.facebook.com,http://www.google.com,http://www.yahoo' + \ |
| '.com;900;60 + ' + \ |
| 'window;http://www.bing.com,http://www.gmail.com,http://www.amazon.co' + \ |
| 'm,http://www.ask.com;600 + ' + \ |
| 'cycle;http://www.youtube.com,http://www.microsoft.com;900;240 + ' + \ |
| 'window;http://www.wikipedia.org;1200 & ' + \ |
| 'window;http://www.alexa.com,http://www.intel.com,http://www.apple.co' + \ |
| 'm;1200' |
| |
| job.run_test('power_LoadTest', loop_time=loop_time, loop_count=loop_count, |
| low_battery_threshold=3) |