5

我必须使用 Espresso 创建一个脚本来在 Firebase 测试实验室中测试我的应用程序。我的应用程序使用相机来捕捉图像,并且我已经打开了默认的相机应用程序。

为了在我的设备上进行测试,我给出了我正在使用的测试设备的包名称。问题是不同Android设备的相机应用程序包名称不同,我们不知道每个。硬编码包名也不好。

我已经搜索并无法找到解决方案的方法。

提前致谢。

4

2 回答 2

6

我不认为使用实际的相机应用程序来做到这一点的好方法,因为相机应用程序通常在设备型号和 Android 版本之间有所不同。

你如何在测试中伪造这种依赖关系?要么通过抽象调用相机应用程序的代码,要么添加您自己的假相机活动,该活动将被调用并以应有的方式向您返回图片。

于 2019-03-19T16:53:58.213 回答
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

检查谷歌示例 https://github.com/googlesamples/android-testing/tree/master/ui/espresso/IntentsAdvancedSample

于 2019-03-26T09:17:34.560 回答