J'ai un problème avec mes tests d'interface utilisateur automatisés utilisant la batterie de périphériques AWS. J'ai essayé de créer un nouveau test UIAutomator 2. Cela fonctionne très bien sur mon appareil et ma machine de développement. Non J'ai créé un nouveau test dans la batterie de périphériques AWS pour exécuter ce test sur tous les autres périphériques en créant une capture d'écran. Le problème ici semble être de prendre les captures d'écran. Avec Automator 2, je prends mes captures d'écran en utilisant la méthode UIDevie.takeScreenshot
de frameworks automator. Cette méthode prend un File
comme paramètre.TakeScreenshot avec AWS Device Farm et UIAutomator 2
Comme décrit dans AWS documentation j'ai essayé de stocker le fichier en utilisant le dossier /sdcard/
ainsi que Environment.getExternalStorageDirectory()
. Aucun de ces répertoires ne semble fonctionner.
Avec Environment.getExternalStorageDirectory()
je reçois le journal suivant:
Error UiAutomatorBridge java.io.FileNotFoundException: /storage/emulated/0/test-screenshots/coupondetail-screen-2.png: open failed: EACCES (Permission denied)
En utilisant /sdcard/
je reçois le journal suivant:
Error UiAutomatorBridge java.io.FileNotFoundException: /sdcard/test-screenshots/coupondetail-screen-2.png: open failed: EACCES (Permission denied)
J'utilise également l'implémentation de référence suivante: https://github.com/awslabs/aws-device-farm-sample-app-for-android/blob/master/app/src/androidTest/java/com/amazonaws/devicefarm/android/referenceapp/Util/ScreenShot.java