コード例 #1
0
def ProcessUIAutomatorOptions(args):
    """Processes UIAutomator options/arguments.

  Args:
    args: argparse.Namespace object.

  Returns:
    A UIAutomatorOptions named tuple which contains all options relevant to
    uiautomator tests.
  """

    ProcessJavaTestOptions(args)

    if os.path.exists(args.test_jar):
        # The dexed JAR is fully qualified, assume the info JAR lives along side.
        args.uiautomator_jar = args.test_jar
    else:
        args.uiautomator_jar = os.path.join(constants.GetOutDirectory(),
                                            constants.SDK_BUILD_JAVALIB_DIR,
                                            '%s.dex.jar' % args.test_jar)
    args.uiautomator_info_jar = (
        args.uiautomator_jar[:args.uiautomator_jar.find('.dex.jar')] +
        '_java.jar')

    return uiautomator_test_options.UIAutomatorOptions(
        args.tool, args.annotations, args.exclude_annotations,
        args.test_filter, args.test_data, args.save_perf_json,
        args.screenshot_failures, args.uiautomator_jar,
        args.uiautomator_info_jar, args.package, args.set_asserts)
コード例 #2
0
def ProcessUIAutomatorOptions(options, error_func):
  """Processes UIAutomator options/arguments.

  Args:
    options: optparse.Options object.
    error_func: Function to call with the error message in case of an error.

  Returns:
    A UIAutomatorOptions named tuple which contains all options relevant to
    uiautomator tests.
  """

  ProcessJavaTestOptions(options)

  if not options.package:
    error_func('--package is required.')

  if options.package not in constants.PACKAGE_INFO:
    error_func('Invalid package.')

  if not options.test_jar:
    error_func('--test-jar must be specified.')

  if os.path.exists(options.test_jar):
    # The dexed JAR is fully qualified, assume the info JAR lives along side.
    options.uiautomator_jar = options.test_jar
  else:
    options.uiautomator_jar = os.path.join(
        constants.GetOutDirectory(),
        constants.SDK_BUILD_JAVALIB_DIR,
        '%s.dex.jar' % options.test_jar)
  options.uiautomator_info_jar = (
      options.uiautomator_jar[:options.uiautomator_jar.find('.dex.jar')] +
      '_java.jar')

  return uiautomator_test_options.UIAutomatorOptions(
      options.tool,
      options.cleanup_test_files,
      options.push_deps,
      options.annotations,
      options.exclude_annotations,
      options.test_filter,
      options.test_data,
      options.save_perf_json,
      options.screenshot_failures,
      options.uiautomator_jar,
      options.uiautomator_info_jar,
      options.package)