Samouczek APPIUM dla Android i testowanie aplikacji mobilnych na iOS
Co to jest Appium?
APPIUM to swobodnie dystrybuowana aplikacja mobilna typu open source Testowanie Ramy. Appium umożliwia testowanie aplikacji natywnych, hybrydowych i internetowych oraz obsługuje testy automatyczne na urządzeniach fizycznych, a także na emulatorze lub symulatorze. Oferuje wieloplatformowe testowanie aplikacji, co oznacza, że jedno API działa dla obu Android oraz skrypty testowe platformy iOS.
Ma NIE zależność od systemu operacyjnego urządzenia mobilnego. Ponieważ APPIUM ma framework lub wrapper, który tłumaczy Selenium Polecenia Webdrivera do UIAutomation (iOS) lub UIAutomator (Android) polecenia w zależności od typu urządzenia, a nie od typu systemu operacyjnego.
Appium obsługuje wszystkie języki, które mają Selenium biblioteki klienckie, takie jak- Java, Cel C, JAVASCRIPT z node.js, PHP, Ruby, Python, DO#, itd.
Jak działa APPIUM?
- Appium to „serwer HTTP” napisany przy użyciu Node.js platformę i obsługuje systemy iOS i an Android sesja przy użyciu protokołu przewodowego JSON Webdriver. Dlatego przed inicjalizacją pliku Appium Serwer, Node.js musi być preinstalowany w systemie.
- Kiedy Appium zostanie pobrany i zainstalowany, następnie na naszym komputerze zostanie skonfigurowany serwer udostępniający interfejs API REST.
- Otrzymuje od klienta żądanie połączenia i polecenia, a następnie wykonuje je na urządzeniach mobilnych (Android / iOS).
- Odpowiada odpowiedziami HTTP. Ponownie, aby wykonać to żądanie, wykorzystuje platformy automatyzacji testów mobilnych do sterowania interfejsem użytkownika aplikacji. Struktura taka jak: -
- Apple Instruments na iOS (Instrumenty są dostępne tylko w Xcode 3.0 lub nowszy z OS X v10.5 i nowszymi)
- Google UIAutomator dla Android Poziom API 16 lub wyższy
- Selendroid dla Android Poziom API 15 lub niższy
Warunek korzystania z APPIUM
- Zainstaluj ANDROID SDK (Studio)[Połączyć]-
- Zainstaluj JDK (Java Zestaw deweloperski) [Połączyć]
- Zainstalować Eclipse [Połączyć]
- Zainstaluj TestNg dla Eclipse [Połączyć]
- Zainstalować Selenium JAR serwera [Połączyć]
- Appium Biblioteka klientaPołączyć]
- Informacje o aplikacji APK w Google Play [Połączyć]
- js (niewymagane – zawsze Appium serwer jest zainstalowany, domyślnie zawiera „Node.exe” i NPM. Jest zawarty w aktualnej wersji Appium.)
- Zainstalować Appium Stacjonarny
Zainstalować Appium Stacjonarny
Appium Studio to aplikacja GUI typu open source, którą należy zainstalować Appium Serwer. Jest dostarczany w zestawie ze wszystkimi wymaganiami wstępnymi do instalacji i użytkowania Appium Serwer. Posiada również inspektora, który pozwala uzyskać podstawowe informacje na temat aplikacji. Zawiera rejestrator umożliwiający tworzenie standardowego kodu w celu automatyzacji aplikacji mobilnych.
Krok 1) Iść do http://appium.io/ i kliknij Pobierz Appium.
Krok 2) Dla litu szacuje się Windows, wybierz plik exe i pobierz. Plik ma około 162 MB. Pobranie zajmie trochę czasu w zależności od szybkości Internetu.
Krok 3) Kliknij pobrany plik exe.
Krok 4) Na Windows maszyny, nie ma potrzeby instalowania Appium. Działa bezpośrednio z pliku exe. Po kliknięciu pliku exe przez kilka minut zobaczysz następujący obraz.
W przypadku komputerów Mac musisz zainstalować plik dmg
Krok 5) Następnie zobaczysz okno uruchamiania serwera. Wypełnia domyślną opcję hosta i portu, którą możesz zmienić. Wspomina także o wersji Appium używane.
Krok 6) Po kliknięciu przycisku Start Server, nowy serwer jest uruchamiany na określonym hoście i porcie. Wyświetlane są dane wyjściowe dziennika serwera.
Krok 7) Kliknij Nowe okno sesji.
Krok 8) Możesz wprowadzić żądane możliwości i rozpocząć sesję.
Inspektor APPIUM
Podobny do Selenium Narzędzie do nagrywania i odtwarzania IDE, Appium ma „Inspektora” do nagrywania i odtwarzania. Rejestruje i odtwarza zachowanie aplikacji natywnej, sprawdzając DOM i generuje skrypty testowe w dowolnym żądanym języku. Jednak obecnie nie ma wsparcia dla Appium Inspektor ds Microsoft Windows, w Windows, uruchamia Appium Serwer, ale nie sprawdza elementów. Jednakże przeglądarki UIAutomator można używać jako opcji do sprawdzania elementów.
Kroki, od których warto zacząć Appium Inspektor na komputerze Mac: –
Krok 1) Pobierz i rozpocznij swój Appium serwer z domyślnym adresem IP 0.0.0.0 i portem 4725.
- Wybierz plik źródłowy lub pliki aplikacji z lokalnego źródła do przetestowania.
- Zaznacz pole wyboru „Ścieżka aplikacji”, aby włączyć przycisk „Wybierz”.
Krok 2)Teraz kliknij przycisk „Wybierz”, aby wyświetlić opcję przeglądania i wyboru pliku testowego z dysku lokalnego.
Krok 3) Uruchom symulator na komputerze Mac.
Krok 4) Kliknij przycisk „Uruchom” w prawym górnym rogu, co spowoduje wyświetlenie niebieskiej ikony. Ponownie kliknij tę niebieską ikonę, otworzy się Appium inspektor i Symulator z wybraną wcześniej aplikacją.
Krok 5)– Uruchomienie swojego Appium Inspektor pokaże hierarchię elementów w strukturze kolumnowej. Ponadto użytkownik może stosować akcje za pomocą przycisków, takich jak Tap, Swipe itp.
Krok 6) Kliknij przycisk „Zatrzymaj”, aby zatrzymać nagrywanie.
Dołączać Android Emulator do Appium
Krok 1) Zainstalować Android SDK w Twoim systemie.
Przejdź do Panelu sterowania >> System i zabezpieczenia >> System i w lewym panelu kliknij „Zaawansowane ustawienia systemu”. W wyskakującym okienku „Właściwości systemu” kliknij kartę „Zaawansowane”, a następnie kliknij przycisk „Zmienne środowiskowe”.
Krok 2) Teraz w wyskakującym okienku „Zmienne środowiskowe” kliknij dwukrotnie na „Ścieżka” i ustaw zmienną ANDROID_HOME wskazującą na katalog SDK. W ścieżce dodaj całą ścieżkę folderu SDK.
np -
C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk
Krok 3) Start Your Android emulator lub dowolny załącznik Android urządzenie do swojego systemu (Upewnij się, że masz Android Opcja debugowania włączona w pliku Android urządzenie. Aby sprawdzić opcję debugowania. Przejdź do Ustawienia urządzenia >> Opcje programisty >> Zaznacz „Opcję debugowania”).
Krok 4) Otwórz Wiersz Poleceń i przejdź do swojego Android Katalog SDK \platform-tools\ (np. D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).
Krok 5)– Uruchom polecenie „adb devices”. Możesz zobaczyć podłączone urządzenie na liście w oknie wiersza poleceń. (W CMD wpisz „>adb devices” — to polecenie wyświetli listę podłączonych instancji emulatora. Np.: adb –s emulator-5554 install )
Krok 6)– Uruchom polecenie „adb start-server”. Uruchomi serwer ADB, który będzie używany przez Appium aby wysyłać polecenia do twojego Android urządzeń.
Krok 7) Teraz przejdź do Appium katalog w systemie i uruchom Appium klikając Appiumplik .exe.
Krok 8) Nie zmieniaj adresu IP ani numeru portu i kliknij przycisk „Uruchom”. Twój Appium konsola zaczyna się od 127.0.0.1:4723, jak pokazano poniżej.
Krok 9) Kliknij przycisk „Start”, Appium serwer zaczął działać w twoim systemie.
Przypadek testowy APPIUM dla Native Android Aplikacja (Kalkulator)
Krok 1)) Pobierz wtyczkę ADT Eclipse lub pobierz ADT w oddzielnym pakiecie tutaj
Krok 2) Otwarte Eclipse i Utwórz nowy projekt >> Pakiet >> Klasa
Krok 3) import Selenium biblioteka i Testowanie wewnątrz tego nowego projektu.
Krok 4) Teraz utwórz mały program testowy dla „Calculator.app”, który będzie sumował dwie liczby.
package src_Appium; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; //import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.testng.annotations.*; public class Calculator { WebDriver driver; @BeforeClass public void setUp() throws MalformedURLException{ //Set up desired capabilities and pass the Android app-activity and app-package to Appium DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("BROWSER_NAME", "Android"); capabilities.setCapability("VERSION", "4.4.2"); capabilities.setCapability("deviceName","Emulator"); capabilities.setCapability("platformName","Android"); capabilities.setCapability("appPackage", "com.android.calculator2"); // This package name of your app (you can get it from apk info app) capabilities.setCapability("appActivity","com.android.calculator2.Calculator"); // This is Launcher activity of your app (you can get it from apk info app) //Create RemoteWebDriver instance and connect to the Appium server //It will launch the Calculator App in Android Device using the configurations specified in Desired Capabilities driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); } @Test public void testCal() throws Exception { //locate the Text on the calculator by using By.name() WebElement two=driver.findElement(By.name("2")); two.click(); WebElement plus=driver.findElement(By.name("+")); plus.click(); WebElement four=driver.findElement(By.name("4")); four.click(); WebElement equalTo=driver.findElement(By.name("=")); equalTo.click(); //locate the edit box of the calculator by using By.tagName() WebElement results=driver.findElement(By.tagName("EditText")); //Check the calculated value on the edit box assert results.getText().equals("6"):"Actual value is : "+results.getText()+" did not match with expected value: 6"; } @AfterClass public void teardown(){ //close the app driver.quit(); } }
Appium Serwer i Android Emulator z „AVD Manager” i kliknij Uruchom >> TestNGPowyższy program uruchomi aplikację „Calculator.app” na wybranym emulatorze, a wynik zostanie wyświetlony pod Eclipse konsola za pomocą TestNG Ramy.
Ograniczenia korzystania z APPIUM
- Appium nie obsługuje testowania Android Wersja niższa niż 4.2
- Ograniczona obsługa testowania aplikacji hybrydowych. np.: nie można przetestować działania przełączającego aplikacji z aplikacji internetowej na natywną i odwrotnie.
- Brak wsparcia do uruchomienia Appium Inspektor włączony Microsoft Windows.
Często spotykane błędy i kroki rozwiązywania problemów Appium
Błąd | Kroki rozwiązywania problemów |
---|---|
błąd:- Wymagane są następujące pożądane możliwości, ale nie zostały one podane: nazwa urządzenia, nazwaPlatformy | Dodaj pożądane możliwości: nazwę urządzenia, nazwę platformy w skrypcie APPIUM. np.:capabilities.setCapability („deviceName”,”Emulator”); capabilities.setCapability („platformName”,”Android"); |
błąd: Nie można znaleźć adb. Ustaw zmienną środowiskową ANDROID_HOME za pomocą Android Ścieżka katalogu głównego pakietu SDK. | Prawdopodobnie musisz ustawić ścieżkę katalogu głównego pakietu SDK w systemie „Zmienne środowiskowe” w kolumnie „Ścieżka” |
błąd:org.openqa.selenium.SessionNotCreatedException: Nie można utworzyć nowej sesji. | Musisz ustawić poprawną ścieżkę aplikacji i ponownie uruchomić Appium serwer. |
Jak znaleźć element DOM lub XPath w aplikacji mobilnej? | Użyj „UIAutomatorviewer”, aby znaleźć element DOM Android aplikacji. |