loading

TGW는 주차 관리 시스템 설계 및 솔루션 전문업체입니다.

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 팀의 이 리포지토리를 살펴보는 것이 좋습니다.

우리와 연락을 취하십시오
추천 기사
사례
데이터 없음
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