我正在编写一个 android 测试应用程序,它可以自动在设备上进行测试。
我将 facebook 作为我的基础应用程序,并使用 Robotium 框架编写一个应用程序来满足我的要求。
到目前为止,我已经成功实现了一些功能,但我被困在一个点:我想自动化“上传图片”功能,但只要点击上传按钮,设备内置应用程序就会被激活。我无法使用 Robotium 控制默认应用程序。
有没有办法解决这个问题,通过使用robotium编写一些代码或在操作系统和Robotium之间编写一个可以生成按键的层?
我不认为你能做到这一点。但是,您可能可以制作自己的内置应用程序的修改版本并使用它(如果您可以将其设为默认值,因此不必通过选择屏幕),或者根手机并将其安全模型破坏为用作自动化测试设备。
你说
操作系统和 Robotium 之间的一层。
如果您对此感到满意,那么谷歌的黑盒UIAutomator -Framework 可能可以做到这一点。此外,
你可能想像这样使用monkeyrunner:
$ monkeyrunner >>> from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice >>> device = MonkeyRunner.waitForConnection() >>> device.touch(200, 400, MonkeyDevice.DOWN_AND_UP)
您还可以进行拖动、启动活动等。查看 MonkeyDevice的 api 。
(来自this SO answer)。