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 |