| Index: build/android/pylib/uirobot/uirobot_test_instance.py
|
| diff --git a/build/android/pylib/uirobot/uirobot_test_instance.py b/build/android/pylib/uirobot/uirobot_test_instance.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e3f6eb705899305657034fb3072ba720a2591570
|
| --- /dev/null
|
| +++ b/build/android/pylib/uirobot/uirobot_test_instance.py
|
| @@ -0,0 +1,79 @@
|
| +# Copyright 2014 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +import os
|
| +import json
|
| +import logging
|
| +
|
| +from pylib import constants
|
| +from pylib.base import test_instance
|
| +from pylib.utils import apk_helper
|
| +
|
| +class UirobotTestInstance(test_instance.TestInstance):
|
| +
|
| + def __init__(self, args, error_func):
|
| + """Constructor.
|
| +
|
| + Args:
|
| + args: Command line arguments.
|
| + """
|
| + super(UirobotTestInstance, self).__init__()
|
| + if not args.app_under_test:
|
| + error_func('Must set --app-under-test.')
|
| + self._app_under_test = args.app_under_test
|
| + self._minutes = args.minutes
|
| +
|
| + if args.remote_device_file:
|
| + with open(args.remote_device_file) as remote_device_file:
|
| + device_json = json.load(remote_device_file)
|
| + else:
|
| + device_json = {}
|
| + device_type = device_json.get('device_type', 'Android')
|
| + if args.device_type:
|
| + if device_type and device_type != args.device_type:
|
| + logging.info('Overriding device_type from %s to %s',
|
| + device_type, args.device_type)
|
| + device_type = args.device_type
|
| +
|
| + if device_type == 'Android':
|
| + self._suite = 'Android Uirobot'
|
| + self._package_name = apk_helper.GetPackageName(self._app_under_test)
|
| + elif device_type == 'iOS':
|
| + self._suite = 'iOS Uirobot'
|
| + self._package_name = self._app_under_test
|
| +
|
| +
|
| + #override
|
| + def TestType(self):
|
| + """Returns type of test."""
|
| + return 'uirobot'
|
| +
|
| + #override
|
| + def SetUp(self):
|
| + """Setup for test."""
|
| + pass
|
| +
|
| + #override
|
| + def TearDown(self):
|
| + """Teardown for test."""
|
| + pass
|
| +
|
| + @property
|
| + def app_under_test(self):
|
| + """Returns the app to run the test on."""
|
| + return self._app_under_test
|
| +
|
| + @property
|
| + def minutes(self):
|
| + """Returns the number of minutes to run the uirobot for."""
|
| + return self._minutes
|
| +
|
| + @property
|
| + def package_name(self):
|
| + """Returns the name of the package in the APK."""
|
| + return self._package_name
|
| +
|
| + @property
|
| + def suite(self):
|
| + return self._suite
|
|
|