loading

Tester les intentions de l'appareil photo et de la galerie avec Espresso

Lorsque vous avez des écrans dans votre application Android qui ont des fonctionnalités d'appareil photo et/ou de galerie avec quelques changements d'écran (vues, étiquettes ou boutons qui apparaissent/disparaissent, etc.) et que vous devez écrire des tests Espresso pour ces fonctionnalités/écrans, il y a quelques des aides que j'ai utilisées et que je veux partager avec vous tous. Accorder des autorisations Lorsque vous utilisez l'appareil photo dans votre application, vous devez accorder certaines autorisations dans l'appareil afin de lire/stocker une photo. Ces autorisations sont demandées lors de l'exécution et sont généralement liées à READ_EXTERNAL_STORAGE et WRITE_EXTERNAL_STORAGE.

Tester les intentions de l'appareil photo et de la galerie avec Espresso 1

Ainsi, la GrantPermissionRule permet d'accorder des autorisations d'exécution sur Android M (API 23) et supérieur et lorsqu'elle est appliquée à une classe de test, cette règle tente d'accorder toutes les autorisations d'exécution demandées.@get:Rulevar mRuntimePermissionRule = GrantPermissionRule.grant(android.

Manifest.permission.WRITE_EXTERNAL_STORAGE) Cette règle est généralement utilisée pour accorder des autorisations d'exécution afin d'éviter que la boîte de dialogue d'autorisation ne s'affiche et ne bloque l'interface utilisateur des applications, et selon la documentation officielle : selon cette règle, elle accordera automatiquement READ_EXTERNAL_STORAGE lorsque WRITE_EXTERNAL_STORAGE est demandé. tester lorsqu'une icône de galerie est cliquée dans l'application, puis une image est sélectionnée et affichée à l'écran : la première chose ici est que j'ai une méthode d'assistance (CameraAndGallery.

savePickedImage) qui enregistre d'abord une image (par souci de brièveté l'icône ic_launcher) qui va être utilisée dans le test en tant que fichier local visible pour le test : :class.java)Ensuite, je crée un objet ActivityResult (comme une maquette mais pour Android Intent) qui sera utilisé par le matcher Espresso Intents (pour faire correspondre et valider les intentions sortantes):val imgGalleryResult = CameraAndGallery.createImageGallerySetResultStub(mActivityTestRule.

activity) intentioning(hasAction(Intent.ACTION_CHOOSER)).respondWith(imgGalleryResult)Le secret ici est de demander le fichier précédemment enregistré et finalement utilisé comme résultat.

Tester les intentions de l'appareil photo et de la galerie avec Espresso 2

Remarque : Pour travailler avec des intentions expresso, nous devons ajouter cette dépendance à la construction des applications. fichier gradle : androidTestImplementation androidx.test.

espresso:espresso-intents:$espressoVersionPour le test que nous écrivons, supposons que l'image sélectionnée dans la galerie, nous la plaçons dans une ImageView visible pour l'utilisateur, puis la dernière partie du test consiste à vérifier que le l'image est affichée (méthode hasImageSet()):onView(withId(R.id.auctionphotos_bigimage_viewer)).

check(matches(hasImageSet()))Camera TestSimilar to Gallery Test, le test pour obtenir une image de l'appareil Camera suit presque les mêmes étapes, mais dans ce cas, une image n'a pas besoin d'être enregistrée avant, seulement se moquer du résultat de la caméra : le résultat de la capture simulée est le suivant : l'image résultante va être prise par l'intention : intention (hasAction (MediaStore. ACTION_IMAGE_CAPTURE)). respondWith(imgCaptureResult)Et avec cela, nous pouvons vérifier si l'image a été prise et affichée :onView(withId(R.

id.auctionphotos_bigimage_viewer)).check(matches(hasImageSet()))Enfin, si vous souhaitez explorer un peu plus de contenu concernant les tests Espresso et les intentions, vous voudrez peut-être jeter un œil à ce repo de l'équipe Android officielle

Prenez contact avec nous
Articles recommandés
Cas
Introduction au système de stationnement intelligentLe système de stationnement intelligent est un appareil électrique qui fournit des informations lisibles par l'homme pour aider les gens à naviguer sur leur chemin.
Gestion des parkingsLa définition de la gestion des parkings est la pratique de la gestion des parkings et de leurs zones pour atteindre l'objectif de fournir aux s
Comment utiliser le système de stationnement anpr? Le système de stationnement est devenu un moyen populaire pour assurer le bon fonctionnement de votre entreprise. L'avantage du système de stationnement est qu'il peut
Pourquoi anpr parking solutions ?Lorsque vous garez votre voiture chez anpr parking solutions, vous profitez généralement des nombreux avantages d'anpr parking solutions. Il est
Qu'est-ce que les systèmes de stationnement anpr ? Les systèmes de stationnement anpr sont conçus pour faciliter le stationnement des voitures en ville. Le système utilise des capteurs pour mesurer la di
Qu'est-ce qu'un parking pour gerbeur de voitures ? Je suis coincé dans les embouteillages. Je dois garer ma voiture ici et là. Il y a tellement d'endroits où garer ma voiture. Que fais-tu? Est-ce que tu viens de le garer
Comment fonctionne le système automatisé de gestion du stationnement Il y a tellement de choses que vous pouvez faire pour améliorer la qualité de votre vie. Et quand tu as fait tout ce que tu
Introduction au distributeur de tickets de stationnementIl est difficile de donner une description claire de la même chose. Beaucoup de gens utilisent le même format, ce qui facilite la compréhension
Qu'est-ce que le parking pour gerbeur de voitures ?Je dois utiliser mon smartphone lorsque j'utilise Internet. Lors de l'utilisation d'Internet, il est facile d'être distrait par les choses qui se passent autour de moi
L'introduction du système de gestion de stationnement intelligentLe système de gestion de stationnement intelligent est un moyen intelligent de réduire vos factures d'énergie et de vous aider à garder votre voiture en marche.
pas de données
Shenzhen Tiger Wong Technology Co., Ltd est le principal fournisseur de solutions de contrôle d'accès pour le système de stationnement intelligent des véhicules, le système de reconnaissance de plaque d'immatriculation, le tourniquet de contrôle d'accès des piétons, les terminaux de reconnaissance faciale et Solutions de stationnement LPR .
pas de données
CONTACT US

Technologie Cie., Ltd de Shenzhen TigerWong

Tel:86 13717037584

E-mail: info@sztigerwong.com

Ajouter : 1er étage, bâtiment A2, parc industriel numérique de Silicon Valley Power, No. 22 route Dafu, rue Guanlan, district de Longhua,

Shenzhen, province du Guangdong, Chine  

                    

Droit d'auteur©Shenzhen TigerWong Technology Co.,Ltd 2021  | Plan du site
Contact us
skype
whatsapp
messenger
contact customer service
Contact us
skype
whatsapp
messenger
Annuler
Customer service
detect