Laboratorium Firebase zawiera bibliotekę, której można używać do robienia zrzutów ekranu podczas uruchamiania testów instrumentacji, takich jak testy napisane w ramach testów Espresso . Aby dodać tę możliwość do testu, pobierz bibliotekę cloudtestingscreenshotter_lib.aar .
Możliwość robienia zrzutów ekranu jest już włączona do testowego pliku APK, app-debug-test-unaligned.apk , dla przykładowej aplikacji NotePad, a zrzuty ekranu są również przechwytywane po uruchomieniu testu Robo . Poniższe instrukcje wyjaśniają, jak dodać bibliotekę zrzutów ekranu do aplikacji i jak wywołać tę bibliotekę z testu.
Po uruchomieniu testu możesz przejrzeć zrzuty ekranu w Android Studio lub w konsoli Firebase.
Dodaj bibliotekę zrzutów ekranu do swojego projektu
W Android Studio otwórz widok projektu i kliknij prawym przyciskiem myszy nazwę projektu. Następnie kliknij Nowy > Katalog .
W oknie dialogowym Nowy katalog wpisz aars . Spowoduje to utworzenie katalogu aars w katalogu głównym projektu testowego (jako katalog równorzędny do folderu aplikacji ).
Skopiuj plik cloudtestingscreenshotter_lib.aar i wklej go do folderu aars .
W pliku
build.gradle
poziomie głównym aplikacji (na poziomie projektu) dodaj odwołanie do folderu aars w każdym blokurepositories
:repositories { jcenter() flatDir { dirs '../aars' } } ...
W katalogu najwyższego poziomu modułu (w przypadku przykładowej aplikacji NotePad jest to katalog aplikacji ) otwórz plik
build.gradle
i dodaj zależność do cloudtestingscreenshotter_lib.aar do blokudependencies
najwyższego poziomu:dependencies { // Cloud testing androidTestCompile (name:'cloudtestingscreenshotter_lib', ext:'aar') // Other dependencies go here }
W pliku
AndroidManifest.xml
określ uprawnienia systemowe dla aplikacji, dodając następujące wiersze w tagu<manifest>
. JeśliWRITE_EXTERNAL_STORAGE
na Androidzie 10 (poziom API 29) lub nowszym , pomiń uprawnienieWRITE_EXTERNAL_STORAGE
(Twoja aplikacja nie wymaga tego uprawnienia do odczytywania i zapisywania zrzutów ekranu na urządzeniu).<manifest ... > <!-- WRITE_EXTERNAL_STORAGE is not needed on Android 10 (API level 29) or higher. --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.INTERNET"/> ... </manifest>
Zrób zrzut ekranu z testu
W dowolnym momencie w teście, w którym chcesz zrobić zrzut ekranu, zadzwoń ScreenShotter.takeScreenshot
metody z biblioteki cloudtestingscreenshotter_lib, gdzie pierwszy argument jest etykieta, która służy do identyfikacji screenshot ( main_screen_2
jest używana w poniższym przykładzie):
Jawa
ScreenShotter.takeScreenshot("main_screen_2", this /* activity */);
Kotlin + KTX
ScreenShotter.takeScreenshot("main_screen_2", this /* activity */)
Zobacz zrzuty ekranu
Po zakończeniu testu możesz porównać wszystkie zrzuty ekranu wykonane podczas testowania, wybierając element w drzewie wyników testu, a następnie klikając przycisk Wyświetl zrzuty ekranu opcja.
Możesz wybrać i porównać zrzuty ekranu z różnych konfiguracji w następujący sposób:
Zadanie | Akcja |
---|---|
Przełączaj się między wykonaniami testów. | Użyj menu rozwijanego w lewym górnym rogu. ![]() |
Przełączaj się między zrzutami ekranu podczas wykonywania testu. | Użyj strzałek w prawym górnym rogu. ![]() |
Dodaj dodatkowe panele porównujące zrzuty ekranu do bieżącego widoku. | Kliknij Porównaj .![]() |
Wybierz inny wymiar testu (typ urządzenia, orientacja, lokalizacja itp.). | Wybierz nowy element wymiaru z listy u dołu zrzutu ekranu. |