作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
大家好,我正在尝试从我的 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/
我已经开始创建 MonkeyRunner 脚本。这没问题,但每当我添加 MonkeyDevice::touch 命令时,我都必须通过反复试验来确定输入坐标。基本上,我猜测我想要触摸的坐标,看看这些坐标
我是一名优秀的程序员,十分优秀!