| OLD | NEW |
| (Empty) |
| 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 | |
| 3 # found in the LICENSE file. | |
| 4 | |
| 5 import os | |
| 6 import json | |
| 7 import logging | |
| 8 | |
| 9 from pylib import constants | |
| 10 from pylib.base import test_instance | |
| 11 from pylib.utils import apk_helper | |
| 12 | |
| 13 class UirobotTestInstance(test_instance.TestInstance): | |
| 14 | |
| 15 def __init__(self, args, error_func): | |
| 16 """Constructor. | |
| 17 | |
| 18 Args: | |
| 19 args: Command line arguments. | |
| 20 """ | |
| 21 super(UirobotTestInstance, self).__init__() | |
| 22 if not args.app_under_test: | |
| 23 error_func('Must set --app-under-test.') | |
| 24 self._app_under_test = args.app_under_test | |
| 25 self._minutes = args.minutes | |
| 26 | |
| 27 if args.remote_device_file: | |
| 28 with open(args.remote_device_file) as remote_device_file: | |
| 29 device_json = json.load(remote_device_file) | |
| 30 else: | |
| 31 device_json = {} | |
| 32 device_type = device_json.get('device_type', 'Android') | |
| 33 if args.device_type: | |
| 34 if device_type and device_type != args.device_type: | |
| 35 logging.info('Overriding device_type from %s to %s', | |
| 36 device_type, args.device_type) | |
| 37 device_type = args.device_type | |
| 38 | |
| 39 if device_type == 'Android': | |
| 40 self._suite = 'Android Uirobot' | |
| 41 self._package_name = apk_helper.GetPackageName(self._app_under_test) | |
| 42 elif device_type == 'iOS': | |
| 43 self._suite = 'iOS Uirobot' | |
| 44 self._package_name = self._app_under_test | |
| 45 | |
| 46 | |
| 47 #override | |
| 48 def TestType(self): | |
| 49 """Returns type of test.""" | |
| 50 return 'uirobot' | |
| 51 | |
| 52 #override | |
| 53 def SetUp(self): | |
| 54 """Setup for test.""" | |
| 55 pass | |
| 56 | |
| 57 #override | |
| 58 def TearDown(self): | |
| 59 """Teardown for test.""" | |
| 60 pass | |
| 61 | |
| 62 @property | |
| 63 def app_under_test(self): | |
| 64 """Returns the app to run the test on.""" | |
| 65 return self._app_under_test | |
| 66 | |
| 67 @property | |
| 68 def minutes(self): | |
| 69 """Returns the number of minutes to run the uirobot for.""" | |
| 70 return self._minutes | |
| 71 | |
| 72 @property | |
| 73 def package_name(self): | |
| 74 """Returns the name of the package in the APK.""" | |
| 75 return self._package_name | |
| 76 | |
| 77 @property | |
| 78 def suite(self): | |
| 79 return self._suite | |
| OLD | NEW |