Unapokuwa na skrini ndani ya programu yako ya Android ambazo zina kamera na/au vipengele vya matunzio vilivyo na mabadiliko fulani ya skrini (mitazamo, lebo au vitufe vinavyoonekana/kutoweka, n.k) na unahitaji kuandika baadhi ya majaribio ya Espresso kwa vipengele/skrini hizo kuna wanandoa. ya wasaidizi ambao Nimekuwa nikitumia na ninataka kushiriki nanyi nyote.Ruhusa za KutoaUnapotumia Kamera ndani ya programu yako, unahitaji kutoa ruhusa fulani kwenye kifaa ili kusoma/kuhifadhi picha. Ruhusa hizi huulizwa wakati wa utekelezaji na kwa kawaida huhusiana na READ_EXTERNAL_STORAGE na WRITE_EXTERNAL_STORAGE.
Kwa hivyo, GrantPermissionRule huruhusu utoaji wa ruhusa za wakati wa utekelezaji kwenye Android M (API 23) na matoleo mapya zaidi na inapotumika kwa darasa la majaribio Sheria hii hujaribu kutoa ruhusa zote za wakati wa utekelezaji zilizoombwa.@get:Rulevar mRuntimePermissionRule = GrantPermissionRule.grant(android.
Manifest.permission.WRITE_EXTERNAL_STORAGE)Sheria hii kwa kawaida hutumiwa kutoa ruhusa za wakati wa utekelezaji ili kuzuia kidirisha cha ruhusa kuonyeshwa na kuzuia Ui ya Programu, na kulingana na hati rasmi: Kulingana na sheria hii itatoa kiotomatiki READ_EXTERNAL_STORAGE WRITE_EXTERNAL_STORAGE inapoombwa kwa Msimbo wa Ghala. jaribu wakati ikoni ya matunzio inapobofya kwenye programu, kisha picha inachukuliwa na kuonyeshwa kwenye skrini:Jambo la kwanza hapa ni kwamba nina njia ya msaidizi (KameraNaMatunzio.
savePickedImage) ambayo kwanza huhifadhi picha (kwa ufupi ikoni ya ic_launcher) ambayo itatumika katika jaribio kama faili ya ndani inayoonekana kwa jaribio: Kigezo cha shughuli kinatoka kwa ActivityTestRule:@get:Rulevar mActivityTestRule = IntentsTestRule(MyActivity: :class.java)Kisha ninaunda kipengee cha ActivityResult (kama mzaha lakini kwa Android Intent) ambacho kitatumiwa na kilinganishi cha Espresso Intents (ili kulinganisha na kuhalalisha dhamira zinazotoka):val imgGalleryResult = CameraAndGallery.createImageGallerySetResultStub(mActivity).
shughuli) intending(hasAction(Intent.ACTION_CHOOSER)).respondWith(imgGalleryResult)Siri hapa ni kuuliza faili iliyohifadhiwa hapo awali na hatimaye kutumika kama tokeo.
Kumbuka: Ili kufanya kazi na madhumuni ya espresso, ni lazima tuongeze utegemezi huu kwenye muundo wa programu. gradle faili:androidTestImplementation androidx.test.
espresso:espresso-intents:$espressoVersionKwa jaribio tunaloandika, hebu tuchukulie kuwa picha iliyochukuliwa kutoka kwenye Ghala, tunaiweka katika Taswira ya Picha inayoonekana kwa mtumiaji, kisha sehemu ya mwisho ya jaribio ni kuangalia kwamba picha inaonyeshwa (mbinu hasImageSet()):onView(withId(R.id.auctionphotos_bigimage_viewer)).
check(mechi(hasImageSet()))Camera TestSawa na Gallery Jaribio,jaribio la kupata picha kutoka kwa kifaa Kamera hufuata takriban hatua sawa, lakini katika kesi hii picha haihitaji kuhifadhiwa hapo awali, inadhihaki tu matokeo ya kamera:Matokeo ya kunasa kwa mzaha kama ifuatavyo:Picha itakayotokana itachukuliwa kwa dhamira:intending(hasAction(MediaStore. ACTION_IMAGE_CAPTURE)). respondWith(imgCaptureResult)Na kwa hilo tunaweza kuangalia kama picha ilichukuliwa na kuonyeshwa:onView(withId(R.
id.auctionphotos_bigimage_viewer)).angalia(mechi(hasImageSet()))Mwishowe, ikiwa ungependa kuchunguza maudhui zaidi kuhusu majaribio ya Espresso na Kusudi, unaweza kutaka kuangalia repo hili kutoka kwa timu rasmi ya Android.
Shenzhen TigerWong Technology Co., Ltd
Tel:86 13717037584
E-Maile: info@sztigerwong.com
Ongeza: Ghorofa ya 1, Jengo A2, Hifadhi ya Viwanda ya Silicon Valley Power Digital, Na. 22 Dafu Road, Guanlan Street, Longhua District,
Shenzhen, Mkoa wa Guangdong, Uchina