| # 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. |
| |
| import unittest |
| |
| from systrace import util |
| |
| from devil.android import device_utils |
| from devil.android.sdk import intent |
| from devil.android.sdk import keyevent |
| |
| |
| class BaseAgentTest(unittest.TestCase): |
| def setUp(self): |
| devices = device_utils.DeviceUtils.HealthyDevices() |
| self.browser = 'stable' |
| self.package_info = util.get_supported_browsers()[self.browser] |
| self.device = devices[0] |
| |
| curr_browser = self.GetChromeProcessID() |
| if curr_browser is None: |
| self.StartBrowser() |
| |
| def tearDown(self): |
| # Stop the browser after each test to ensure that it doesn't interfere |
| # with subsequent tests, e.g. by holding the devtools socket open. |
| self.device.ForceStop(self.package_info.package) |
| |
| def StartBrowser(self): |
| # Turn on the device screen. |
| self.device.SetScreen(True) |
| |
| # Unlock device. |
| self.device.SendKeyEvent(keyevent.KEYCODE_MENU) |
| |
| # Start browser. |
| self.device.StartActivity( |
| intent.Intent(activity=self.package_info.activity, |
| package=self.package_info.package, |
| data='about:blank', |
| extras={'create_new_tab': True}), |
| blocking=True, force_stop=True) |
| |
| def GetChromeProcessID(self): |
| return self.device.GetApplicationPids( |
| self.package_info.package, at_most_one=True) |