gpt4 book ai didi

android - 如何使用MonkeyDevice.instrument?

转载 作者:行者123 更新时间:2023-11-29 00:47:20 24 4
gpt4 key购买 nike

大家好,我正在尝试从我的 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com