| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """Run specific test on specific environment.""" | 5 """Run specific test on specific environment.""" |
| 6 | 6 |
| 7 import logging | 7 import logging |
| 8 import os | 8 import os |
| 9 import sys | 9 import sys |
| 10 | 10 |
| 11 from pylib import constants | 11 from pylib import constants |
| 12 from pylib.base import base_test_result | 12 from pylib.base import base_test_result |
| 13 from pylib.remote.device import appurify_sanitized | 13 from pylib.remote.device import appurify_sanitized |
| 14 from pylib.remote.device import remote_device_test_run | 14 from pylib.remote.device import remote_device_test_run |
| 15 from pylib.remote.device import remote_device_helper | 15 from pylib.remote.device import remote_device_helper |
| 16 | 16 |
| 17 | 17 |
| 18 class RemoteDeviceUirobotTestRun(remote_device_test_run.RemoteDeviceTestRun): | 18 class RemoteDeviceUirobotTestRun(remote_device_test_run.RemoteDeviceTestRun): |
| 19 """Run uirobot tests on a remote device.""" | 19 """Run uirobot tests on a remote device.""" |
| 20 | 20 |
| 21 DEFAULT_RUNNER_TYPE = 'android_robot' | |
| 22 | 21 |
| 23 def __init__(self, env, test_instance): | 22 def __init__(self, env, test_instance): |
| 24 """Constructor. | 23 """Constructor. |
| 25 | 24 |
| 26 Args: | 25 Args: |
| 27 env: Environment the tests will run in. | 26 env: Environment the tests will run in. |
| 28 test_instance: The test that will be run. | 27 test_instance: The test that will be run. |
| 29 """ | 28 """ |
| 30 super(RemoteDeviceUirobotTestRun, self).__init__(env, test_instance) | 29 super(RemoteDeviceUirobotTestRun, self).__init__(env, test_instance) |
| 31 | 30 |
| 32 #override | 31 #override |
| 33 def TestPackage(self): | 32 def TestPackage(self): |
| 34 return self._test_instance.package_name | 33 return self._test_instance.package_name |
| 35 | 34 |
| 36 #override | 35 #override |
| 37 def _TriggerSetUp(self): | 36 def _TriggerSetUp(self): |
| 38 """Set up the triggering of a test run.""" | 37 """Set up the triggering of a test run.""" |
| 39 logging.info('Triggering test run.') | 38 logging.info('Triggering test run.') |
| 40 self._app_id = self._UploadAppToDevice(self._test_instance.apk_under_test) | 39 |
| 40 if self._env.device_type == 'Android': |
| 41 default_runner_type = 'android_robot' |
| 42 elif self._env.device_type == 'iOS': |
| 43 default_runner_type = 'ios_robot' |
| 44 else: |
| 45 raise remote_device_helper.RemoteDeviceError( |
| 46 'Unkown device type: %s' % self._env.device_type) |
| 47 |
| 48 self._app_id = self._UploadAppToDevice(self._test_instance.app_under_test) |
| 41 if not self._env.runner_type: | 49 if not self._env.runner_type: |
| 42 runner_type = self.DEFAULT_RUNNER_TYPE | 50 runner_type = default_runner_type |
| 43 logging.info('Using default runner type: %s', self.DEFAULT_RUNNER_TYPE) | 51 logging.info('Using default runner type: %s', default_runner_type) |
| 44 else: | 52 else: |
| 45 runner_type = self._env.runner_type | 53 runner_type = self._env.runner_type |
| 46 self._test_id = self._GetTestByName(runner_type) | 54 self._test_id = self._GetTestByName(runner_type) |
| 47 config_body = {'duration': self._test_instance.minutes} | 55 config_body = {'duration': self._test_instance.minutes} |
| 48 self._SetTestConfig(runner_type, config_body) | 56 self._SetTestConfig(runner_type, config_body) |
| 49 | 57 |
| 50 #override | 58 #override |
| 51 def _ParseTestResults(self): | 59 def _ParseTestResults(self): |
| 52 logging.info('Parsing results from remote service.') | 60 logging.info('Parsing results from remote service.') |
| 53 results = base_test_result.TestRunResults() | 61 results = base_test_result.TestRunResults() |
| 54 if self._results['results']['pass']: | 62 if self._results['results']['pass']: |
| 55 result_type = base_test_result.ResultType.PASS | 63 result_type = base_test_result.ResultType.PASS |
| 56 else: | 64 else: |
| 57 result_type = base_test_result.ResultType.FAIL | 65 result_type = base_test_result.ResultType.FAIL |
| 58 results.AddResult(base_test_result.BaseTestResult('uirobot', result_type)) | 66 results.AddResult(base_test_result.BaseTestResult('uirobot', result_type)) |
| 59 return results | 67 return results |
| OLD | NEW |