android - 如何使用MonkeyDevice.instrument?

标签 android monkeyrunner

大家好, 我正在尝试从我的 MonkeyRunner 脚本运行我的测试工具之一。不幸的是我无法让它工作。我试过用不同的参数变体调用 MonkeyDevice.instrument 但没有成功。

我试过了

设备 = MonkeyRunner.waitForConnection() device.instrument("android.test.InstrumentationTestRunner") device.instrument("com.myTestPackage.myTestClass") device.instrument("com.myTestPackage/.myTestClass") device.instrument("myTestClass")

这些都不会抛出错误,但它们也不运行测试。我可以通过 Dev Tools 或 Android Junit Test 运行我的仪器,所以我知道它有效。

那么有人可以告诉我使用这种方法的正确方法吗?谢谢。

最佳答案

您可能使用了错误的参数。我将这个脚本命名为 instrumentation.mr,它可以帮助您使用正确的脚本。 使用您的目标包名称调用它。

#! /usr/bin/env monkeyrunner

import sys
from com.android.monkeyrunner import MonkeyRunner

PLI = 'pm list instrumentation'

def usage():
    print >>sys.stderr, "usage: intrumentation.mr target-package"
    sys.exit(1)

def main():
    if len(sys.argv) != 2:
        usage()

    pkg = sys.argv[1]

    print "waiting for connection..."
    device = MonkeyRunner.waitForConnection()

    print "running istrumentation for %s" % pkg
    for (i, t) in map(lambda l: l.split(), device.shell(PLI).splitlines()):
        if t == '(target=%s)' % pkg:
            print device.instrument(i.split(':')[1], { 'wait':True })['stream']
            return

    print >>sys.stderr, "ERROR: instrumentation for %s not found" % pkg

if __name__ == '__main__':
    main()

例如:

$ instrumentation.mr com.example.aatg.tc

打印:

waiting for connection...
running istrumentation for com.example.aatg.tc

Test results for InstrumentationTestRunner=...............................
Time: 39.932

OK (31 tests)

关于android - 如何使用MonkeyDevice.instrument?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5690173/

相关文章:

Android:通过 LAN 使用 WiFi

android - 在 Android 上处理非常快速的按钮点击

java - 我的应用程序在 android 9 版本中不断崩溃,抛出 java.lang.SecurityException

javascript - 如何在 React Native 中将选择器数据传递到 API

android - 找不到 monkeyrunner 命令

android - monkeyrunner 在构造 shell 命令时不能正确处理特定字符

android - MonkeyRunner:更可靠的等待和全长截图?

android - 如何在 Visual Studio for Mac for Xamarin 中添加更多 Android 模拟器设备?

android - 在真实设备上通过 wifi 运行 monkeyrunner

android - 不匹配的输入'结果期望 RPAREN : While running jython script