我必须使用Espresso创建一个脚本,以在Firebase测试实验室中测试我的应用程序。我的应用程序使用相机捕获图像,我已打开默认的相机应用程序。
为了在我的设备上进行测试,我给出了我正在使用的测试设备的包名。问题是不同Android设备的相机应用程序包名称是不同的,我们不知道它们中的每一个。硬编码包名称也不好。
我已经搜索过,无法找到找到解决方案的方法。
提前感谢。
我不认为使用实际的相机应用程序有一个很好的方法,因为相机应用程序通常在设备型号和Android版本之间有所不同。
你在测试中伪造这种依赖性怎么样?通过抽象调用相机应用程序的代码,或者通过添加自己的假相机活动来调用它,并按照应该发生的方式返回一个图片。
您可以使用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
检查谷歌样本https://github.com/googlesamples/android-testing/tree/master/ui/espresso/IntentsAdvancedSample