从我的活动中我做startActivityForResult(MediaStore.ACTION_IMAGE_CAPTURE),
然后我进入内置摄像头活动(在这种情况下,在模拟器中)。
我现在这样做:
“solo.clickOnButton(0);”
在我的测试用例中,它没有找到任何按钮(找到索引= 0的空值)。
如何编写使用内置摄像头拍照的Solo / Robotium测试用例?
答案 0 :(得分:2)
根据Robotium doc,你不能这样做,因为这跨越两个应用程序(你的一个和默认的相机活动)。见http://code.google.com/p/robotium/wiki/QuestionsAndAnswers
您需要在包中编写自己的相机实现或编写两个测试应用程序
希望这会有所帮助:)
答案 1 :(得分:2)
抱歉碰到这个......
我只是把我制作/使用的相机存根放在游戏商店......想到你/他人在自动测试中测试相机可能会有用:)
https://play.google.com/store/apps/details?id=com.hitherejoe.CameraStub&hl=en
答案 2 :(得分:1)
你想要达到的目标绝对可行。您正尝试通过系统内置功能执行此操作。这里的问题是用户需要拍照并确认它是有效的。比,结果(图片网址)带回您的活动。所以,它不是机器人。
另一种方法是使用Android为您提供完全控制相机的事实
android.hardware.Camera;
这绝对是要求更高的方法。但是,如果您使用Android安装中的现有示例作为指南
android-sdk-windows\samples\android-8\ApiDemos\src\com\example\android\apis\graphics\CameraPreview.java
它应该是可以实现的。不要忘记在清单中声明权限,如Camera
SDK文档中所述。