示例#1
0
 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)
示例#2
0
    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))
示例#3
0
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)
示例#4
0
 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)
示例#5
0
 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)
示例#7
0
 def setUp(self):
     self._options = options_for_unittests.GetCopy()
     self._device = android_device.GetDevice(self._options)
示例#8
0
 def testAdbNoDevicesReturnsNone(self):
     finder_options = browser_options.BrowserFinderOptions()
     self.assertEquals([], self._android_device_stub.logging.warnings)
     self.assertIsNone(android_device.GetDevice(finder_options))