嗨,大家好,
我正在尝试从 MonkeyRunner 脚本运行我的测试仪器之一。不幸的是我无法让它工作。我尝试使用不同的参数变量调用 MonkeyDevice.instrument,但没有成功。
我试过了
设备 = MonkeyRunner.waitForConnection()
device.instrument("android.test.InstrumentationTestRunner")
device.instrument("com.myTestPackage.myTestClass")
device.instrument("com.myTestPackage/.myTestClass")
device.instrument(“myTestClass”)
这些都不会抛出错误,但它们也不运行测试。我可以通过开发工具或 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
prints:
waiting for connection...
running istrumentation for com.example.aatg.tc
Test results for InstrumentationTestRunner=...............................
Time: 39.932
OK (31 tests)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)