我必须使用Espresso创建脚本来在Firebase测试实验室中测试我的应用程序。我的应用程序使用相机捕获图像,并且我已打开默认的相机应用程序。
要在我的设备上进行测试,请提供我正在使用的测试设备的软件包名称。问题在于,不同Android设备的相机应用程序包名称不同,我们不知道每个。硬编码程序包名称也不是一件好事。
我已经搜索了,但是找不到找到解决方案的方法。
预先感谢。
答案 0 :(得分:6)
我认为对于实际的相机应用程序来说,没有什么好方法,因为相机应用程序在设备型号和Android版本之间经常有所不同。
您如何在测试中伪造此依赖关系?通过提取调用照相机应用程序的代码,或者添加您自己的将被调用并以预期方式返回图片的伪造照相机活动,来实现。
答案 1 :(得分:0)
您可以使用android.support.test.espresso.intent
模拟相机的启动意图
https://guides.codepath.com/android/UI-Testing-with-Espresso#stubbing-out-the-camera
还参考: http://www.qaautomated.com/2016/02/testing-camera-activity-using-intent.html
检查Google示例 https://github.com/googlesamples/android-testing/tree/master/ui/espresso/IntentsAdvancedSample