uiautomatorviewer tutorial
Ten samouczek wyjaśnia, jak pobrać, zainstalować i skonfigurować UIAutomator oraz jak używać UIAutomatorViewer do inspekcji elementu w aplikacji na Androida:
Firma Google udostępniła własne narzędzia do automatyzacji testów na Androida, a UIAutomatorviewer jest jednym z nich. Jeśli masz pomysł na temat Selenium, łatwo będzie Ci zrozumieć UIAutomator.
Ten samouczek zawiera szczegółowe wyjaśnienie programu UIAutomator wraz z jego instalacją, konfiguracją, komponentami, poleceniami, przykładowym programem testowym i niektórymi często zadawanymi pytaniami.
Odkryjmy!!
czym jest testowanie funkcjonalne na przykładzie
Czego się nauczysz:
- Co to jest UIAutomatorViewer?
- Jak sprawdzić elementy interfejsu użytkownika w systemie Android
- Wniosek
Co to jest UIAutomatorViewer?
UIAutomatorViewer jest częścią menedżera Android SDK i jest narzędziem GUI (graficzny interfejs użytkownika) inspektora interfejsu użytkownika, które pomaga nam sprawdzać elementy interfejsu użytkownika aplikacji na Androida.
Inspekcja aplikacji jest ważna, ponieważ potrzebujemy lokalizatorów, takich jak identyfikatory zasobów, klasa, tekst składnika aplikacji na Androida, aby zautomatyzować aplikację.
Zrzut ekranu XML bieżącego ekranu zostanie wykonany przez UIAutomatorViewer. Klikając w dowolny element na ekranie, możemy poznać klasę, która jest używana do reprezentowania, element na ekranie wraz ze wszystkimi właściwościami wymienionymi po prawej stronie narzędzia.
Hierarchia obiektów to kolejność obiektów, w których są zdefiniowane. Na przykład ,klasa jest dzieckiem innej klasy. Znajduje się w prawej górnej części narzędzia.
Za pomocą UIAutomator możesz pisać przypadki testowe automatyzacji dla aplikacji Android. Testy te zostaną przeprowadzone w warstwie interfejsu użytkownika aplikacji. Możesz zasymulować każdą czynność, którą tester wykonuje ręcznie, na przykład , weryfikacja logowania.
Instalacja
Możesz zainstalować to narzędzie na dwa sposoby.
# 1) Android Studio
Jeśli często pracujesz przy testowaniu / tworzeniu aplikacji na Androida, możesz zainstalować Android Studio.
Zawiera wszystkie narzędzia do kompilacji, platformy i zestawu SDK. Więc instalując Android Studio, otrzymasz z nim wszystkie narzędzia. Zaleca się korzystanie z Android Studio tylko wtedy, gdy masz dobry laptop / komputer. Ponieważ zajmuje dużo pamięci RAM na twoim komputerze i potrzebuje 4-5 GB danych, aby pobrać i zainstalować wszystkie wymagania. Ale dostaniesz wszystko za jednym kliknięciem.
# 2) Tylko narzędzia wiersza polecenia
Jeśli potrzebujesz tylko narzędzi związanych z testowaniem, możesz pobrać tylko menedżera Android SDK.
W tym samouczku postępujemy zgodnie z drugą metodą, ponieważ pierwsza metoda jest dość prosta.
Otwórz to URL i przewiń w dół do nagłówka Tylko narzędzia wiersza poleceń, następnie kliknij odpowiednie łącze pobierania pliku w oparciu o system operacyjny komputera. Zobacz poniższy zrzut ekranu w celach informacyjnych.
Aby uruchomić program, musimy mieć narzędzia Android SDK, narzędzia platformy, platformy i narzędzia do kompilacji.
- otwarty przybory i kliknij narzędzia platformy połącz i pobierz pliki.
- Utwórz folder o nazwie AndroidSDK i wyodrębnij tutaj pobrane narzędzia i narzędzia platformy.
- Wewnątrz narzędzi znajdziesz plik android.bat kliknij lub uruchom plik bat, a zostanie wyświetlone okno Android SDK Manager. Wybierz wymaganą wersję platformy, na przykład, Związane z Androidem 25 i kliknij Zainstaluj. Musisz wybrać platformy i skompilować narzędzia dla wymaganej wersji interfejsu API systemu Android.
- Zaakceptuj regulamin. Pobierz i zainstaluj platformy i narzędzia do budowania. Upewnij się, że wszystkie wymagane pliki znajdują się w folderze AndroidSDK.
Wraz z Android SDK potrzebujemy jeszcze kilku rzeczy, jak wspomniano poniżej.
Narzędzie Mrówka:
Narzędzie Apache zostanie użyte do skompilowania i zbudowania napisanego kodu. Korzystając z narzędzia Ant, możemy wygenerować plik JAR, który jest plikiem Java Archive. Używając pliku jar, zostaną wykonane pakiety automatyzacji / przypadki testowe.
=> Zainstaluj Apache Ant tutaj
Eclipse IDE i Java:
Mamy nadzieję, że musisz mieć Eclipse IDE i edytor, aby zbudować nasz kod i Javę zainstalowaną na swoim komputerze. Jeśli nie, zainstaluj najnowszą wersję Eclipse z tutaj
Potrzebujemy języka do pisania naszych przypadków testowych do automatyzacji i używamy Javy do automatyzacji naszych testów.
= > Zainstaluj Javę tutaj
Konfiguracja
Następną rzeczą, którą musimy zrobić, jest dodanie zmiennej środowiskowej dla menedżera SDK. Możesz używać tego narzędzia bez dodawania zmiennej środowiskowej, ale problem polega na tym, że nie możesz go używać wszędzie w systemie.
Będziesz mieć do niego dostęp tylko w folderze, w którym go zainstalowałeś. Dlatego lepiej dodajmy zmienne środowiskowe, aby zestaw SDK miał do niego dostęp w dowolnym miejscu. Teraz utwórz zmienne środowiskowe dla Ant, Android SDK i Java. Dodaj je wszystkie do zmiennej ścieżki.
Aby to zrobić, przejdź do System -> Zaawansowane ustawienia systemu -> karta Zaawansowane -> Zmienne środowiskowe -> Kliknij Nowy w sekcji Zmienne systemowe. Ta nawigacja może się różnić w zależności od systemu.
Przykładowa zmienna systemowa dla ścieżek:
ANDROID_HOME: F: Workspace SDK
ANT_HOME: C: apache-ant-1.10.5
JAVA_HOME: C: Program Files Java jdk1.8.0_111
Teraz dodaj wszystkie te zmienne systemowe do ścieżki, jak pokazano w poniższym przykładzie.
% ANDROID_HOME%;% ANT_HOME%;% JAVA_HOME%
Uderz w Zastosować przycisk, a następnie ok przycisk.
Teraz mamy gotową całą konfigurację.
Przed uruchomieniem naszego kodu musimy najpierw upewnić się, że urządzenie z Androidem jest gotowe do przeprowadzania na nim testów. W tym celu musimy włączyć opcje programisty, jeśli nie są jeszcze włączone.
Włączanie opcji programisty w systemie Android:
- Otwórz ustawienia telefonu i przejdź do 'System' a potem do 'O telefonie' Sekcja.
- Tam znajdziesz 'Numer kompilacji' .
- Stuknij w Numer kompilacji pięć razy.
- Opcja programisty zostanie włączona i możesz to zobaczyć w 'System' .
- Otwórz opcje programisty i włącz 'Debugowanie USB' i „Weryfikuj aplikacje przez USB” .
Jak sprawdzić elementy interfejsu użytkownika w systemie Android
Otwórz wiersz polecenia w dowolnym miejscu i wprowadź polecenie uiautomatorviewer. Zwróć uwagę, że w poleceniu nie ma spacji i jest to tylko jedno słowo. Jeśli poprawnie skonfigurowałeś SDK, otworzy się okno UIAutomator. W przeciwnym razie sprawdź, czy instalacja i konfiguracja są wykonane prawidłowo.
Zobaczmy po kolei użycie każdego zakreślonego elementu.
# 1) Na najwyższej wstążce kliknij drugą ikonę od lewej do prawej, tj. Ikonę zrzutu ekranu. Na pokazanym obrazie jest zaznaczony jako ten, który jest zakreślony na czerwono.
#dwa) Możesz zapisać bieżący zrzut ekranu, a także plik zrzutu interfejsu użytkownika do przyszłych celów. Zapisane pliki można otworzyć za pomocą ikony folderu u góry.
# 3) Ta sekcja zawiera wszystkie informacje związane z hierarchią interfejsu użytkownika. Możesz wyszukiwać za pomocą dostępnego pola wyszukiwania. Rozwiń / zwiń hierarchię. Przechodź między obiektami za pomocą strzałek w górę iw dół.
# 4) „Szczegóły węzła” to miejsce, w którym uzyskujemy informacje o elemencie UI.
Pokazuje wszystkie niezbędne informacje o elemencie, takie jak jego dostępność, widoczność i różne lokalizatory, takie jak nazwa klasy, tekst, identyfikator zasobu, opis zawartości itp. Za pomocą których musimy uzyskać dostęp do elementu w automatyzacji.
Następnie ekran będzie wyglądał tak, jak pokazano poniżej.
Kliknij pole wyszukiwania Google na urządzeniu i ponownie zrób zrzut ekranu za pomocą UIAutomatorViewer.
Na komputerze kliknij wyświetlane komponenty interfejsu użytkownika i obserwuj. Narzędzie wykrywa wybrany komponent i wyświetla szczegóły komponentu. Wybrany składnik interfejsu użytkownika zostanie podświetlony czerwonym polem po lewej stronie ekranu.
Przykładowy program testowy
Tworzenie projektu i klasy testowej w Eclipse:
Otwórz Eclipse IDE na swoim komputerze i kliknij Plik -> Nowy -> Projekt Java . Otworzy się okno tworzenia projektu, wprowadź nazwę projektu na przykład „UiAutomator_Demo”. Pozostaw wszystkie domyślne ustawienia bez zmian i kliknij dwa razy przycisk Zakończ. Twój projekt został utworzony.
Utworzony projekt zostanie wyświetlony po lewej stronie IDE. Kliknij prawym przyciskiem myszy nazwę projektu, w którym chcesz wybrać Nowy -> Klasa iw oknie otwartym do wpisania nazwy klasy, na przykład, DemoTest i naciśnij przycisk Zakończ.
Dodawanie słoików do projektu
Powinniśmy dodać wszystkie biblioteki, których używamy podczas automatyzacji testów.
# 1) Kliknij prawym przyciskiem myszy nazwę projektu w Eclipse, a następnie wybierz 'Nieruchomości' .
#dwa) Pojawi się nowe okno z właściwościami, wybierz „Ścieżka budowania Java”.
# 3) Kliknij menu Biblioteki i kliknij plik „Dodaj zewnętrzne słoiki” przycisk.
# 4) Otworzy się okno Menedżera plików. Przejdź do folderu, w którym jest zainstalowany pakiet SDK. Wybierz android.jar i uiautomator.jar a następnie naciśnij przycisk Zastosuj i zamknij dodatkowe okno.
W tym teście wykonamy małą operację w wyszukiwarce Google, aby sprawdzić, czy wyniki są wyświetlane zgodnie z naszym zapytaniem.
Poniżej znajdują się kroki wymagane do wykonania tych czynności:
- Kliknij pole wyszukiwania Google.
- Wpisz zapytanie, na przykład, Pomoc w testowaniu oprogramowania
- Naciśnij przycisk Enter i sprawdź, czy wyniki zawierają łącze do witryny pomocy dotyczącej testowania oprogramowania
Więc to są kroki, które wykonujemy ręcznie.
Zautomatyzujmy to samo.
package com.android.uiautomation; import com.android.uiautomator.core.UiDevice; import com.android.uiautomator.core.UiObject; import com.android.uiautomator.core.UiSelector; import com.android.uiautomator.core.UiObjectNotFoundException; import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class DemoTest extends UiAutomatorTestCase{ public void testApps() throws UiObjectNotFoundException, InterruptedException { getUiDevice().pressHome(); //Step1 UiObject searchBox = new UiObject(new UiSelector().resourceId ('com.google.android.googlequicksearchbox:id/search_edit_frame')); searchBox.clickAndWaitForNewWindow(); //step2 UiObject searchBar = new UiObject(new UiSelector().resourceId ('com.google.android.googlequicksearchbox:id/search_box')); searchBar.setText('SoftwareTestingHelp'); //step3 UiDevice device = getUiDevice(); device.pressEnter(); Thread.sleep(3000); //step4 UiObject results = new UiObject(new UiSelector().textContains('Software Testing Help')); //step5 if(results.exists()){ System.out.println('Passed: Result has been shown for software testing help'); } else{ System.out.println('Failed: Result were not shown for software testing help'); } getUiDevice().pressHome(); } }
Przyjrzyjmy się powyższemu fragmentowi kodu.
Zaimportowaliśmy wszystkie wymagane moduły do naszego programu.
Krok 1 : Przechowywanie identyfikatora zasobu pola wyszukiwania Google w UiObject i wykonywanie operacji kliknięcia.
Krok 2 : Wprowadzenie tekstu w polu wyszukiwania i naciśnięcie klawisza Enter
Krok 3 : Sprawdzanie, czy wyniki wyszukiwania zawierają witrynę pomocy dotyczącej testowania oprogramowania. Wydrukować „Zdany” komunikat do konsoli, jeśli żądany tekst istnieje, w przeciwnym razie wydrukuj komunikat „Failed”.
Lista poleceń
# 1) Utwórz projekt testowy
Android tworzy projekt uitest-t -p
To polecenie tworzy plik build.xml, który będzie dalej używany do generowania Jar.
Parametr -t przyjmuje wersję Androida jako parametr. Musisz określić, którą wersję Androida chcesz przetestować. Przykład: android-25, czyli celujemy w wersję na Androida 7.
Parametr -p to miejsce, w którym należy podać ścieżkę do projektu. Przykład: D: Workspace UiAutomator_Demo
-n to nazwa projektu Przykład: UiAutomator_Demo
# 2) Zbuduj swój kod źródłowy
Jak wspomniano wcześniej, użylibyśmy Apache Ant jako narzędzia do kompilacji naszego kodu źródłowego i wygenerowania wykonywalnego pliku JAR.
Budowa mrówki
Jeśli w czasie kompilacji nie wystąpił błąd, na konsoli zostanie wyświetlony komunikat „Budowa się powiodła” .
Następnie możesz znaleźć wykonywalny plik jar w jestem folder twojego projektu o nazwie określonej w czasie wykonywania pierwszego polecenia. Jeśli w kodzie są jakieś problemy, błędy zostaną wyświetlone na konsoli, a plik JAR nie zostanie wygenerowany.
wymieniłeś domyślną bramę w swojej sieci
# 3) Przekazywanie wygenerowanego pliku JAR do urządzenia
Adb push / data / local / tmp /
Przykład: adb push D: Workspace UiAutomator_Demo bin UiAutomator_Demo.jar / data / local / tmp /
Ponieważ testy UiAutomator są uruchamiane na podstawie pliku JAR przesłanego do urządzenia, musimy najpierw przesłać nasz plik jar do urządzenia. W tym celu użyjemy polecenia push adb.
To polecenie przyjmuje dwa parametry - jeden to plik, który ma zostać przesłany do urządzenia z systemem Android, a drugi to ścieżka docelowa.
Drugim argumentem dla tego polecenia jest ścieżka docelowa, do której powinien zostać umieszczony nasz plik. W naszym przypadku powinno to być / data / local / tmp /
# 4) Uruchom test
Teraz mamy wszystko gotowe. Jedyną oczekującą rzeczą jest wykonanie naszego testu.
Adb shell uiautomator runtest –c
Przykład: adb shell uiautomator runtest UiAutomator_Demo.jar –c com.android.uiautomation.DemoTest
Jeśli nie wiesz, jak uzyskać kwalifikowaną nazwę klasy, wykonaj poniższą procedurę:
W swoim Eclipse kliknij listę rozwijaną swojego projektu i przejdź do klasy, w której znajduje się kod testowy. Tutaj klasa to DemoTest. Kliknij prawym przyciskiem myszy nazwę klasy. Otworzy się okno, kliknij plik „Skopiuj kwalifikowaną nazwę” .
merge sort c ++ code
Gdy tylko naciśniesz to polecenie w wierszu polecenia, test rozpocznie się i możesz teraz zobaczyć, jak test jest wykonywany w urządzeniu.
FAQs
Pytanie 1) Czy ustawienie ścieżki dla zestawu SDK jest obowiązkowe?
Odpowiedź: Nie, ale wskazane jest ustawienie ścieżki, ponieważ jeśli nie ustawisz ścieżki SDK w zmiennych środowiskowych, wtedy będziesz mieć dostęp tylko do plików w lokalizacji, w której jest zainstalowany.
Tak więc, aby uzyskać dostęp do swojego SDK w dowolnym miejscu, musisz ustawić ścieżkę. Nie tylko w przypadku SDK, ale wskazane jest również wykonanie tego samego dla Java i Ant.
Pytanie nr 2) Dlaczego UIAutomatorViewer wyświetla błąd podczas robienia zrzutu ekranu?
Odpowiedź:
Istnieją 3 możliwe przyczyny:
# 1) Adb nie rozpoznał Twojego urządzenia i musisz zaktualizować oprogramowanie sterownika urządzenia. Możesz je wyszukać online i zainstalować, na przykład, jeśli pracujesz z urządzeniem LG, możesz wyszukać sterowniki LG adb.
#dwa) Twoje urządzenie nie jest w stanie bezczynności: Dla ekranu, który nie jest statyczny, np. Odtwarzane jest wideo lub jakakolwiek animacja jest wyświetlana, uiautomatorviewer nie może w takich przypadkach wykonać zrzutu ekranu. Dlatego upewnij się, że ekran urządzenia nie wyświetla żadnych filmów / animacji w momencie robienia zrzutu ekranu.
# 3) Niezgodność wersji Androida: Upewnij się, że wersja interfejsu SDK api jest wyższa lub równa poziomowi interfejsu API urządzenia z systemem Android. Jeśli nie, możesz zaktualizować SDK, klikając plik android.bat lub przez menedżera SDK.
Pytanie 3) Czy jest jakaś oficjalna dokumentacja dotycząca UIAutomatorViewer?
Odpowiedź: Tak, firma Google zapewniła dokumentacja dla UIAutomatorViewer. Chociaż nie jest w pełni omówiony na wszystkie tematy, ale może uzyskać pojęcie o tym narzędziu.
Pytanie 4) Dlaczego polecenie urządzeń adb nie wyświetla żadnych urządzeń?
Odpowiedź: Sprawdź, czy opcje programisty są włączone na Twoim urządzeniu. Umożliwić Opcja dla programistów na urządzeniu z Androidem postępuj zgodnie z poniższą procedurą. Przejdź do ustawień urządzenia i O telefonie . Stuknij 5 razy w numer kompilacji. Toastowa wiadomość „Jesteś teraz programistą” pojawi się i zostanie dodana opcja Ustawienia programisty.
P # 5) Dlaczego tak Adb nadal nie rozpoznał mojego urządzenia?
Odpowiedź: Może występować problem ze sterownikiem. Musisz zaktualizować sterownik, który pomaga wykryć urządzenie.
Wykonaj poniższe czynności, aby zaktualizować sterownik.
# 1) Otwórz swój system i otwórz menedżera urządzeń; możesz uzyskać to ustawienie po kliknięciu prawym przyciskiem myszy Przycisk Start .
#dwa) Otwórz Menedżera urządzeń, tam możesz znaleźć nazwę swojego urządzenia na urządzeniach z Androidem / urządzeniach przenośnych.
# 3) Kliknij prawym przyciskiem myszy nazwę urządzenia i wybierz Aktualizuj sterowniki.
# 4) Kliknij opcję Przeglądaj mój komputer w poszukiwaniu oprogramowania sterownika i kliknij opcję Pozwól mi wybrać z listy sterowników urządzeń na moim komputerze.
# 5) Wybierz jeden z odpowiednich sterowników do zainstalowania i naciśnij następny przycisk. Jeśli sterownik urządzenia został pomyślnie zainstalowany, poniżej zostanie wyświetlony komunikat.
# 6) Ponieważ są to zmiany sprzętowe zastosowane w systemie, może być konieczne ponowne uruchomienie systemu, jeśli pojawi się odpowiedni monit.
# 7) Jeśli uważasz, że urządzenie nie jest rozpoznawane, możesz najpierw zmienić tryb połączenia. Te tryby są wyświetlane na urządzeniu po podłączeniu urządzenia do systemu.
Przykład: Przesyłaj pliki, przesyłaj zdjęcia, MIDI1.
Pytanie 6) Czy mogę zobaczyć szczegóły każdego składnika interfejsu użytkownika aplikacji na Androida?
Odpowiedź: Możesz zobaczyć prawie wszystkie szczegóły komponentów interfejsu użytkownika w UIAutomatorViewer. Jeśli jakikolwiek interfejs użytkownika / układ używa innych niż domyślne wartości dostarczane przez system Android, nie można ich wyświetlić w narzędziu UIAutomatorViewer.
Możesz poprosić programistę o umieszczenie dowolnego identyfikatora w elemencie interfejsu użytkownika, aby zautomatyzować tę funkcję. Na przykład, umieszczenie identyfikatora zasobu, opisu zawartości itp.
Pytanie 7) Czy narzędzie Appium wykorzystuje w sobie narzędzie UIAutomator?
Odpowiedź: Tak.
Pytanie 8) Czy to narzędzie obsługuje inne urządzenia, takie jak Windows / iOS niż Android?
Odpowiedź: Nie, to zostało opracowane przez Google i obsługuje tylko urządzenia z systemem Android.
Pytanie nr 9) Co to jest UIautomator Android?
Odpowiedź: UIAutomator to narzędzie / framework, który pomaga zautomatyzować przypadki testowe aplikacji na Androida.
Pytanie nr 10) Jak skonfigurować UIAutomator?
Odpowiedź: Szczegółowe wyjaśnienie można znaleźć w sekcji Instalacja tego samouczka.
Pytanie nr 11) Czym jest UIAutomator w Appium?
Odpowiedź: UiAutomator to platforma / narzędzie testowe dostarczane przez system Android do automatyzacji testowania aplikacji na Androida. Appium używa go wewnętrznie.
Pytanie nr 12) Jak sprawdzasz element w UIAutomator?
Odpowiedź: Po zakończeniu konfiguracji otwórz wiersz polecenia i wprowadź polecenie UIAutomatorViewer. Na komputerze zostanie wyświetlone okno. Podłącz telefon komórkowy do komputera i kliknij drugą ikonę zrzutu ekranu urządzenia (zrzut uiautomatora) u góry.
Po tym urządzeniu bieżący ekran zostanie wyświetlony w oknie inspektora. Kliknij dowolny element, aby uzyskać informacje o tym elemencie. Aby uzyskać szczegółowe wyjaśnienie, patrz Sprawdź wymagany element interfejsu użytkownika Sekcja.
Wniosek
Podsumowując,
- UIAutomatorViewer to narzędzie z graficznym interfejsem użytkownika do inspekcji warstwy interfejsu użytkownika dowolnej aplikacji.
- Musisz znać strukturę UI testowanej aplikacji, aby łatwiej było zautomatyzować interakcję użytkownika w warstwie UI aplikacji
- UIAutomator używa migawki XML i zrzutu ekranu. Możesz poznać hierarchię układu.
- Aby zautomatyzować testy interfejsu użytkownika aplikacji na Androida, musisz najpierw zidentyfikować niektóre lokalizatory, aby wykonać interakcję z aplikacją Przykład: Nazwa klasy, identyfikator zasobu, tekst.
- Adb jest częścią SDK, która nazywa się Android Debug Bridge.
- Możesz otworzyć UIAutomatorViewer, wprowadzając polecenie uiautomatorviewer w linii poleceń.
- Ponieważ to narzędzie jest bezpłatne, może być używane przez każdego i jest niezawodne.
Miłego czytania !!
rekomendowane lektury
- Jak zautomatyzować aplikację internetową w przeglądarce Chrome na urządzeniu z Androidem
- Zautomatyzuj natywną aplikację na urządzeniu z Androidem za pomocą Appium
- 11 najlepszych narzędzi automatyzacji do testowania aplikacji na Androida (narzędzia do testowania aplikacji na Androida)
- 30 najlepszych narzędzi do testowania GUI do automatyzacji testów GUI [LISTA 2021]
- Samouczek Katalon Studio: Darmowe narzędzie do automatyzacji testów, na które czekałeś
- Praktyczny przegląd Ranorex Studio: kompleksowe rozwiązanie do automatyzacji testów
- Zobacz samouczek automatyzacji testów: przewodnik po narzędziu do automatyzacji testów mobilnych
- TestProject Narzędzie do automatyzacji testów Praktyczny samouczek