我必须使用 Espresso 创建一个脚本来在 Firebase 测试实验室中测试我的应用程序。我的应用程序使用相机来捕捉图像,并且我已经打开了默认的相机应用程序。
为了在我的设备上进行测试,我给出了我正在使用的测试设备的包名称。问题是不同Android设备的相机应用程序包名称不同,我们不知道每个。硬编码包名也不好。
我已经搜索并无法找到解决方案的方法。
提前致谢。
我必须使用 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