Index: build/android/pylib/remote/device/remote_device_uirobot_test_run.py |
diff --git a/build/android/pylib/remote/device/remote_device_uirobot_test_run.py b/build/android/pylib/remote/device/remote_device_uirobot_test_run.py |
index 7eedaa5b9d0ecf69d9a9153e10b63b925ca20253..936db0a45dffd6b10db17e62677888597da26dc2 100644 |
--- a/build/android/pylib/remote/device/remote_device_uirobot_test_run.py |
+++ b/build/android/pylib/remote/device/remote_device_uirobot_test_run.py |
@@ -18,7 +18,6 @@ from pylib.remote.device import remote_device_helper |
class RemoteDeviceUirobotTestRun(remote_device_test_run.RemoteDeviceTestRun): |
"""Run uirobot tests on a remote device.""" |
- DEFAULT_RUNNER_TYPE = 'android_robot' |
def __init__(self, env, test_instance): |
"""Constructor. |
@@ -37,16 +36,46 @@ class RemoteDeviceUirobotTestRun(remote_device_test_run.RemoteDeviceTestRun): |
def _TriggerSetUp(self): |
"""Set up the triggering of a test run.""" |
logging.info('Triggering test run.') |
- self._app_id = self._UploadAppToDevice(self._test_instance.apk_under_test) |
+ |
+ if self._env.device_type == 'Android': |
+ default_runner_type = 'android_robot' |
+ elif self._env.device_type == 'iOS': |
+ default_runner_type = 'ios_robot' |
+ else: |
+ raise remote_device_helper.RemoteDeviceError( |
+ 'Unkown device type: %s' % self._env.device_type) |
+ |
+ self._app_id = self._UploadAppToDevice(self._test_instance.app_under_test) |
if not self._env.runner_type: |
- runner_type = self.DEFAULT_RUNNER_TYPE |
- logging.info('Using default runner type: %s', self.DEFAULT_RUNNER_TYPE) |
+ runner_type = default_runner_type |
+ logging.info('Using default runner type: %s', default_runner_type) |
else: |
runner_type = self._env.runner_type |
- self._test_id = self._GetTestByName(runner_type) |
+ |
+ self._test_id = self._UploadTestToDevice( |
+ 'android_robot', None, app_id=self._app_id) |
config_body = {'duration': self._test_instance.minutes} |
self._SetTestConfig(runner_type, config_body) |
+ |
+ # TODO(rnephew): Switch to base class implementation when supported. |
+ #override |
+ def _UploadTestToDevice(self, test_type, test_path, app_id=None): |
+ if test_path: |
+ logging.info("Ignoring test path.") |
+ data = { |
+ 'access_token':self._env.token, |
+ 'test_type':test_type, |
+ 'app_id':app_id, |
+ } |
+ with appurify_sanitized.SanitizeLogging(self._env.verbose_count, |
+ logging.WARNING): |
+ test_upload_res = appurify_sanitized.utils.post('tests/upload', |
+ data, None) |
+ remote_device_helper.TestHttpResponse( |
+ test_upload_res, 'Unable to get UiRobot test id.') |
+ return test_upload_res.json()['response']['test_id'] |
+ |
#override |
def _ParseTestResults(self): |
logging.info('Parsing results from remote service.') |