def testAdbOneDeviceReturnsDeviceInstance(self): finder_options = browser_options.BrowserFinderOptions() self._android_device_stub.adb_commands.attached_devices = ([ '015d14fec128220c' ]) device = android_device.GetDevice(finder_options) self.assertEquals([], self._android_device_stub.logging.warnings) self.assertEquals('015d14fec128220c', device.device_id)
def testNoAdbReturnsNone(self): finder_options = browser_options.BrowserFinderOptions() def NoAdb(*_, **__): raise OSError('not found') self._android_device_stub.subprocess.Popen = NoAdb self.assertEquals([], self._android_device_stub.logging.warnings) self.assertIsNone(android_device.GetDevice(finder_options))
def FindAllAvailableBrowsers(finder_options): """Finds all the possible browsers on one device. The device is either the only device on the host platform, or |finder_options| specifies a particular device. """ device = android_device.GetDevice(finder_options) if not device: return [] android_platform = platform.GetPlatformForDevice(device, finder_options) return _FindAllPossibleBrowsers(finder_options, android_platform)
def testAdbTwoDevicesReturnsNone(self): finder_options = browser_options.BrowserFinderOptions() self._android_device_stub.adb_commands.attached_devices = [ '015d14fec128220c', '015d14fec128220d' ] device = android_device.GetDevice(finder_options) self.assertEquals([ 'Multiple devices attached. Please specify one of the following:\n' ' --device=015d14fec128220c\n' ' --device=015d14fec128220d' ], self._android_device_stub.logging.warnings) self.assertIsNone(device)
def testAdbPermissionsErrorReturnsNone(self): finder_options = browser_options.BrowserFinderOptions() self._android_device_stub.subprocess.Popen.communicate_result = ( 'List of devices attached\n????????????\tno permissions\n', '* daemon not running. starting it now on port 5037 *\n' '* daemon started successfully *\n') device = android_device.GetDevice(finder_options) self.assertEquals([ 'adb devices gave a permissions error. Consider running adb as root:', ' adb kill-server', ' sudo `which adb` devices\n\n' ], self._android_device_stub.logging.warnings) self.assertIsNone(device)
def __init__(self, test, finder_options, story_set): """This method is styled on unittest.TestCase.setUpClass. Args: test: a web_perf.TimelineBasedMeasurement instance. options: a BrowserFinderOptions instance with command line options. story_set: a story.StorySet instance. """ super(SharedAndroidState, self).__init__(test, finder_options, story_set) if not isinstance(test, timeline_based_measurement.TimelineBasedMeasurement): raise ValueError( 'SharedAndroidState only accepts TimelineBasedMeasurement tests' ' (not %s).' % test.__class__) self._test = test self._finder_options = finder_options self._android_app = None self._current_user_story = None self._android_platform = platform.GetPlatformForDevice( android_device.GetDevice(finder_options), finder_options) assert self._android_platform, 'Unable to create android platform.' assert isinstance(self._android_platform, android_platform.AndroidPlatform)
def setUp(self): self._options = options_for_unittests.GetCopy() self._device = android_device.GetDevice(self._options)
def testAdbNoDevicesReturnsNone(self): finder_options = browser_options.BrowserFinderOptions() self.assertEquals([], self._android_device_stub.logging.warnings) self.assertIsNone(android_device.GetDevice(finder_options))