loading

Espresso로 카메라 및 갤러리 인텐트 테스트

Android 앱 내에 일부 화면 변경(보기, 레이블 또는 표시/사라지는 버튼 등)이 있는 카메라 및/또는 갤러리 기능이 있는 화면이 있고 해당 기능/화면에 대한 몇 가지 Espresso 테스트를 작성해야 할 때 몇 가지가 있습니다. 내가 사용하고 있는 도우미의 모든 것을 여러분과 공유하고 싶습니다. 권한 부여 앱 내에서 카메라를 사용할 때 사진을 읽고/저장하려면 장치에서 일부 권한을 부여해야 합니다. 이러한 권한은 일반적으로 READ_EXTERNAL_STORAGE 및 WRITE_EXTERNAL_STORAGE와 관련되어 런타임에 요청됩니다.

Espresso로 카메라 및 갤러리 인텐트 테스트 1

따라서 GrantPermissionRule은 Android M(API 23) 이상에서 런타임 권한 부여를 허용하고 테스트 클래스에 적용할 때 이 규칙은 요청된 모든 런타임 권한 부여를 시도합니다.@get:Rulevar mRuntimePermissionRule = GrantPermissionRule.grant(android.

Manifest.permission.WRITE_EXTERNAL_STORAGE)이 규칙은 일반적으로 권한 대화 상자가 Apps Ui를 표시 및 차단하지 않도록 런타임 권한을 부여하는 데 사용되며 공식 문서에 따르면 이 규칙에 따라 WRITE_EXTERNAL_STORAGE가 요청될 때 자동으로 READ_EXTERNAL_STORAGE를 부여합니다.갤러리 테스트코드 앱에서 갤러리 아이콘을 클릭할 때 테스트하면 이미지가 선택되어 화면에 표시됩니다. 여기에서 가장 먼저 해야 할 일은 도우미 메서드(CameraAndGallery.xml)가 있다는 것입니다.

savePickedImage) 테스트에 사용할 이미지(간단함을 위해 ic_launcher 아이콘)를 테스트에 표시되는 로컬 파일로 저장합니다. 활동 매개변수는 ActivityTestRule:@get:Rulevar mActivityTestRule = IntentsTestRule(MyActivity: :class.java) 그런 다음 Espresso Intents 매처에서 사용할 ActivityResult 객체(모의 객체와 비슷하지만 Android Intent용)를 생성합니다(발신 인텐트 일치 및 유효성 검사):val imgGalleryResult = CameraAndGallery.createImageGallerySetResultStub(mActivityTestRule.

활동) Intent(hasAction(Intent.ACTION_CHOOSER)).respondWith(imgGalleryResult)여기서 비밀은 이전에 저장하고 결과로 최종 사용된 파일을 요청하는 것입니다.

Espresso로 카메라 및 갤러리 인텐트 테스트 2

참고: 에스프레소 인텐트로 작업하려면 앱 빌드에 이 종속성을 추가해야 합니다. gradle 파일:androidTestImplementation androidx.test.

에스프레소:espresso-intents:$espressoVersion 작성 중인 테스트의 경우 갤러리에서 선택한 이미지가 사용자에게 표시되는 ImageView에 설정되어 있다고 가정하고 테스트의 마지막 부분은 다음을 확인하는 것입니다. 이미지가 표시됩니다(메서드 hasImageSet()):onView(withId(R.id.auctionphotos_bigimage_viewer)).

check(matches(hasImageSet()))Camera Test갤러리 테스트와 유사하며 카메라 카메라에서 이미지를 가져오는 테스트는 거의 동일한 단계를 따르지만 이 경우 이미지를 이전에 저장할 필요가 없으며 다음의 결과만 모의합니다. 카메라:모의 캡처 결과는 다음과 같습니다. ACTION_IMAGE_CAPTURE)). respondWith(imgCaptureResult) 그리고 이를 통해 이미지가 촬영되어 표시되었는지 확인할 수 있습니다. onView(withId(R.

id.auctionphotos_bigimage_viewer)).check(matches(hasImageSet()))마지막으로, Espresso 테스트 및 인텐트에 관한 내용을 조금 더 살펴보고 싶다면 공식 Android 팀의 이 리포지토리를 살펴보는 것이 좋습니다.

우리와 연락을 취하십시오
추천 기사
사례
스마트 주차 시스템 소개 스마트 주차 시스템은 사람이 읽을 수 있는 정보를 제공하여 사람들이 길을 찾는 데 도움을 주는 전기 장치입니다.
주차장 관리 주차장 관리의 정의는 주차장의 제공 목적을 달성하기 위해 주차장과 그 구역을 관리하는 관행입니다.
pr 주차 시스템을 사용하는 방법?주차 시스템은 비즈니스를 원활하게 운영하는 데 널리 사용되는 방법이 되었습니다. 주차 시스템의 좋은 점은
왜 pr 주차 솔루션입니까? pr 주차 솔루션에 차를 주차하면 일반적으로 pr 주차 솔루션의 많은 이점을 활용하게 됩니다. 그것은
Anpr 주차 시스템이란 무엇입니까?Anpr 주차 시스템은 사람들이 도시에 쉽게 주차할 수 있도록 설계되었습니다. 시스템은 센서를 사용하여 di를 측정합니다.
스태커 주차란 무엇인가요?교통체증이 심해요. 여기 저기에 차를 세워야 해요. 내 차를 주차할 곳이 너무 많습니다. 너 뭐하니? 그냥 주차하세요?
자동 주차 관리 시스템이 작동하는 방식삶의 질을 향상시키기 위해 할 수 있는 일이 너무 많습니다. 그리고 당신이 할 모든 일을 했을 때
주차권 발매기 소개와 같은 내용을 명확하게 설명하기는 어렵습니다. 많은 사람들이 동일한 형식을 사용하므로 더 쉽게 이해할 수 있습니다.
스태커 주차란 무엇인가요?인터넷을 사용하려면 스마트폰을 사용해야 합니다. 인터넷을 사용할 때 주변에서 일어나는 일들로 인해 주의가 산만해지기 쉽습니다.
스마트 주차 관리 시스템 도입스마트 주차 관리 시스템은 에너지 비용을 절감하고 자동차를 계속 운행할 수 있도록 도와주는 지능적인 방법입니다.
데이터 없음
Shenzhen Tiger Wong Technology Co., Ltd는 차량 지능형 주차 시스템, 번호판 인식 시스템, 보행자 출입 통제 개찰구, 얼굴 인식 단말기 및 LPR 주차 솔루션 .
데이터 없음
CONTACT US

심천 TigerWong 기술 Co.,Ltd

전화:86 13717037584

이메일: info@sztigerwong.com

주소: 실리콘밸리 파워디지털산업단지 A2빌딩 1층 22 Dafu Road, Guanlan Street, Longhua District,

심천, 광동성, 중국  

                    

저작권©2021 심천 TigerWong 기술 Co.,Ltd  | 사이트맵
Contact us
skype
whatsapp
messenger
contact customer service
Contact us
skype
whatsapp
messenger
취소
Customer service
detect