loading

用浓缩咖啡测试相机和画廊意图

当您的Android应用程序中的屏幕具有相机和/或图库功能以及某些屏幕更改 (出现/消失的视图,标签或按钮) 时,等等),你需要为这些功能/屏幕写一些浓缩咖啡测试,有几个我一直在使用的助手,我想和大家分享。授予许可当你在你的应用程序中使用相机时,您需要在设备中授予一些权限才能读取/存储照片。 这些权限在运行时被要求,通常与READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAGE相关。

用浓缩咖啡测试相机和画廊意图 1

因此,GrantPermissionRule允许在Android M (API 23) 及更高版本上授予运行时权限,并且当应用于测试类时,该规则尝试授予所有请求的运行时权限。@ get:Rulevar mRuntimePermissionRule = GrantPermissionRule.grant(android

Manifest.permission.WRITE_EXTERNAL_STORAGE) 此规则通常用于授予运行时权限,以避免权限对话框显示并阻止应用程序Ui,并且根据官方文档: 根据此规则,当WRITE_EXTERNAL_STORAGE被请求时,将自动授予READ_EXTERNAL_STORAGE。测试代码在应用程序中单击图库图标时进行测试,然后选择图像并在屏幕上显示: 这里的第一件事是我有一个帮助方法 (CameraAndGallery。

savePickedImage),首先保存一个图像 (为了简洁,ic_launcher图标),该图像将在测试中用作测试可见的本地文件: 活动参数来自ActivityTestRule:@ get:Rulevar mActivityTestRule = IntentsTestRule(MyActivity::class.java),然后我创建一个ActivityResult对象 (就像一个模拟但用于Android意图),该对象将由浓缩咖啡意图匹配器使用 (以匹配和验证传出的意图):val imgGalleryResult = CameraAndGallery.createImageGallerySetResultStub(mActivityTestRule

活动) 意图 (hasAction(Intent.ACTION_CHOOSER)).Respondwing (imgGalleryResult) 这里的秘密是要求先前保存并最终用作结果的文件。

用浓缩咖啡测试相机和画廊意图 2

注意: 要使用浓缩咖啡意图,我们必须将此依赖项添加到应用程序构建中。 gradle文件: androidTestImplementation androidx.test.

espresso:espresso-意图: $ espresssoversion对于我们正在编写的测试,让我们假设从图库中提取的图像,我们将其设置在用户可见的ImageView中,然后测试的最后一部分是检查图像是否显示 (方法hasImageSet()):onView (与id (R.id.auctionphotos_bigimage_viewer))。

检查 (匹配 (hasImageSet() 相机测试与图库测试类似,从设备相机获取图像的测试遵循几乎相同的步骤,但在这种情况下,图像不需要之前保存,只需模拟相机的结果: 模拟捕获结果如下: 生成的图像将由意图拍摄: 意图 (hasAction(MediaStore。 ACTION_IMAGE_CAPTURE)). 响应 (imgCaptureResult),并且我们可以检查图像是否已拍摄并显示: onView(withId(R。

id.auctionphotos_bigimage_viewer))。检查 (匹配 (hasImageSet() 最后,如果你想探索更多关于浓缩咖啡测试和意图的内容,你可能想看看这个官方安卓团队的回购

请与我们联系
推荐的文章
案例
스마트 주차 시스템 소개 스마트 주차 시스템은 사람이 읽을 수 있는 정보를 제공하여 사람들이 길을 찾는 데 도움을 주는 전기 장치입니다.
주차장 관리 주차장 관리의 정의는 주차장의 제공 목적을 달성하기 위해 주차장과 그 구역을 관리하는 관행입니다.
pr 주차 시스템을 사용하는 방법?주차 시스템은 비즈니스를 원활하게 운영하는 데 널리 사용되는 방법이 되었습니다. 주차 시스템의 좋은 점은
왜 pr 주차 솔루션입니까? pr 주차 솔루션에 차를 주차하면 일반적으로 pr 주차 솔루션의 많은 이점을 활용하게 됩니다. 그것은
Anpr 주차 시스템이란 무엇입니까?Anpr 주차 시스템은 사람들이 도시에 쉽게 주차할 수 있도록 설계되었습니다. 시스템은 센서를 사용하여 di를 측정합니다.
스태커 주차란 무엇인가요?교통체증이 심해요. 여기 저기에 차를 세워야 해요. 내 차를 주차할 곳이 너무 많습니다. 너 뭐하니? 그냥 주차하세요?
자동 주차 관리 시스템이 작동하는 방식삶의 질을 향상시키기 위해 할 수 있는 일이 너무 많습니다. 그리고 당신이 할 모든 일을 했을 때
주차권 발매기 소개와 같은 내용을 명확하게 설명하기는 어렵습니다. 많은 사람들이 동일한 형식을 사용하므로 더 쉽게 이해할 수 있습니다.
스태커 주차란 무엇인가요?인터넷을 사용하려면 스마트폰을 사용해야 합니다. 인터넷을 사용할 때 주변에서 일어나는 일들로 인해 주의가 산만해지기 쉽습니다.
스마트 주차 관리 시스템 도입스마트 주차 관리 시스템은 에너지 비용을 절감하고 자동차를 계속 운행할 수 있도록 도와주는 지능적인 방법입니다.
没有数据
深圳市虎王科技有限公司是领先的车辆智能停车系统、车牌识别系统、行人门禁闸机、人脸识别终端等门禁解决方案提供商。 LPR停车解决方案 .
没有数据
CONTACT US

深圳市泰格旺科技有限公司

电话:86 13717037584

电子邮件: info@sztigerwong.com

地址:硅谷动力数字产业园A2栋一楼 龙华区观澜街道大富路22号

中国广东省深圳市  

                    

版权©2021深圳市TigerWong科技有限公司  | 网站地图
Contact us
skype
whatsapp
messenger
contact customer service
Contact us
skype
whatsapp
messenger
取消
Customer service
detect