如何编写使用内置摄像头拍照的Solo / Robotium测试用例?

时间:2010-10-01 14:20:49

标签: android robotium

从我的活动中我做startActivityForResult(MediaStore.ACTION_IMAGE_CAPTURE),
然后我进入内置摄像头活动(在这种情况下,在模拟器中)。

我现在这样做:
“solo.clickOnButton(0);”
在我的测试用例中,它没有找到任何按钮(找到索引= 0的空值)。

如何编写使用内置摄像头拍照的Solo / Robotium测试用例?

3 个答案:

答案 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文档中所述。