appium tutorial testing android
Jak zainstalować i skonfigurować Appium w systemie Windows z pierwszym programem, aby rozpocząć pracę w Appium:
Appium to oprogramowanie typu open source narzędzie do automatyzacji testów używany do testowanie aplikacji mobilnych . Umożliwia użytkownikom testowanie różnych typów aplikacji mobilnych (takich jak Native, Hybrid i Mobile Web) przy użyciu standardowej biblioteki WebDriver.
Istnieją trzy typy aplikacji mobilnych:
- Ojczysty: Aplikacje natywne utworzone przy użyciu pakietów SDK dla systemów iOS, Android lub Windows. Są specyficzne dla platformy. Są zbudowane do pracy na platformie i / lub urządzeniu.
- Hybrydowy: Aplikacje hybrydowe to aplikacje internetowe opracowane przy użyciu HTML, CSS i opakowania aplikacji natywnej na wierzchu UIWebView dla iOS i „webview” dla aplikacji na Androida.
- Mobilne aplikacje internetowe: Mobilne aplikacje internetowe to aplikacje, do których uzyskuje się dostęp za pomocą przeglądarek mobilnych.
Lista samouczków w tej serii Appium
Samouczek nr 1: Samouczek Appium dla początkujących (ten samouczek)
Samouczek nr 2: Wprowadzenie do Appium: Co to jest Appium i jego architektura
Samouczek nr 3: Pobierz, zainstaluj i skonfiguruj Appium dla Windows
Samouczek nr 4: Konfiguracja urządzenia mobilnego z systemem w Appium
Samouczek nr 5: Zautomatyzuj natywną aplikację na urządzeniu z Androidem za pomocą Appium
Samouczek nr 6: Jak zautomatyzować aplikację internetową w przeglądarce Chrome na urządzeniu z Androidem
Czego się nauczysz:
- Dlaczego Appium jest popularnym narzędziem do automatyzacji aplikacji mobilnych?
- Konfiguracja narzędzia Appium w systemie Windows
- Skonfiguruj Appium za pomocą Eclipse IDE
- Ograniczenia wcześniejszych epok
- Wyzwania stojące przed pracą z Appium
- Wniosek
Dlaczego Appium jest popularnym narzędziem do automatyzacji aplikacji mobilnych?
Appium jest narzędziem „wieloplatformowym”, tzn. Umożliwia pisanie testów na wielu platformach (iOS, Android, Windows), przy użyciu tych samych API. Za pomocą appium , uruchamiasz również automatyczne testy na rzeczywistych urządzeniach, takich jak tablety, telefony komórkowe itp.
To jest najbardziej powszechnie używane narzędzie do testowania regresji aplikacji mobilnych na telefony komórkowe i tablety. Appium ułatwia testowanie regresji aplikacji mobilnej; zwłaszcza w przypadku dużych aplikacji mobilnych, które są często aktualizowane o nowe funkcje i funkcjonalności.
Konfiguracja narzędzia Appium w systemie Windows
Wymagania wstępne: Oto krótka lista oprogramowania i sprzętu wymaganego do automatyzacji testowania aplikacji mobilnej za pomocą Appium:
- Twój komputer powinien mieć zainstalowany JDK, Appium Server, Eclipse, Android SDK
- Apk: Aplikacja mobilna ma być zautomatyzowana w naszym Case ContactManager.apk
- Urządzenie testujące: W tym przypadku Moto G
- Słoiki: Jars klienta Java i Jars Selenium.
- Sterownik USB do urządzenia testującego: W tym przypadku Moto G
Krok 1: Zainstaluj zestaw Java Development Kit ( JDK )
Krok 2: Skonfiguruj Javę Ścieżka zmiennej środowiskowej
Krok 3: Pobierz i zainstaluj Android SDK tutaj i zaktualizuj interfejsy API
Aby zaktualizować API, Otwórz Eclipse -> Kliknij okno w menu Eclipse i -> Wybierz menedżera Android SDK
Zaktualizuj interfejsy API, jak pokazano na poniższym zrzucie ekranu:
Krok 4: Teraz musimy zainstalować Appium dla Windows. Iść tutaj i pobierz Appium dla Windows.
Krok 5: Ja nstall Node JS stąd: Pobieranie Node JS
Krok 6: Ustaw ANDROID_HOME ścieżka, jak również JAVA_HOME ścieżka
Określ ścieżkę dla narzędzi i narzędzia platformy obecnych w ścieżce Android SDK.
Te foldery będą obecne w adt-bundle-windows-x86_64-20140702 sdk
Teraz musimy zaktualizować zmienną środowiskową (patrz poniższy zrzut ekranu)
(Uwaga:Kliknij dowolny obraz, aby wyświetlić powiększenie)
Zaktualizuj ścieżkę za pomocą narzędzi i narzędzi platformy (folder obecny w Android SDK).
Wpis w Path będzie wyglądał jak poniżej:
C: Program Files nodejs ;% ANDROID_HOME% tools;% ANDROID_HOME% platform-tools
Krok # 7: Uzyskaj dostęp do adb
Naciśnij kombinację klawiszy Win + R.
Rodzaj CMD . Teraz w CMD wpisz „ adb ”. adb będzie dostępny
Przygotowanie urządzenia mobilnego do automatyzacji za pomocą Appium
Podłącz mobilne urządzenie testujące przez USB do komputera. Przed automatyzacją aplikacji włącz tryb programisty na telefonie komórkowym.
Kroki, aby włączyć tryb / opcje programisty na telefonie lub tablecie z Androidem:
1) Otwórz ustawienia, kliknij opcję „Informacje”, kliknij „Informacje o oprogramowaniu”, kliknij „Więcej”.
2) Stuknij 7 razy w „Numer kompilacji”, aby włączyć opcje programisty.
3) Wróć do Ustawień i upewnij się, że jest tam ustawienie „Opcje programisty”.
4) Stuknij w Opcje programisty i włącz opcję Debugowanie USB z menu na następnym ekranie.
Aby uzyskać dodatkową pomoc, postępuj zgodnie z tym połączyć .
5) Pobierz i zainstaluj sterowniki USB dla mobilnego urządzenia testującego na komputerze.
6) Typ terminala adb „urządzenia adb”
C: Users NEERAJ> urządzenia adb
Lista załączonych urządzeń
Urządzenie TA93305G0L
Spowoduje to wyświetlenie listy urządzeń podłączonych do systemu. Będziemy używać App Contact Manager.apk jako przykładowej aplikacji do automatyzacji. Ściągnij i zainstaluj Contact Manager.apk na urządzeniu.
Rozpoczęcie automatyzacji aplikacji na Androida za pomocą Appium
Teraz uruchom appium.exe na PC.
Appium musi być uruchomiony i przekazać następujące parametry i nazwę urządzenia w ustawieniach Androida.
Uwaga: Nie zmieniaj numeru portu ani niczego w ikonie ustawień ogólnych. Po uruchomieniu Appium Server adres serwera oraz adres portu zostaną ustawione domyślnie. Domyślny adres portu to 4723
W ustawieniach Androida użytkownik musi ustawić ścieżkę APK, w której znajduje się APK, sprawdzić ścieżkę aplikacji, pakiet i uruchomić działanie.
- Podłącz telefon z Androidem do komputera i włącz tryb debugowania USB.
- Otwórz wiersz polecenia.
- Wpisz polecenie adb logcat .
- Otwórz aplikację na swoim telefonie z Androidem. Natychmiast naciśnij CTRL + C w wierszu polecenia
com.example.android.contactmanager to nazwa pakietu i com.example.android.contactmanager.ContactManager to nazwa działania aplikacji Contact Manager.
Na powyższym zrzucie ekranu wypełniliśmy wszystkie potrzebne informacje w Appium, tj. Pakiet, aktywność uruchamiania, nazwa urządzenia mobilnego.
Jak zlokalizować element za pomocą UIAutomatorViewer?
1) Aby zautomatyzować aplikację, najpierw musimy znaleźć elementy aplikacji, z którymi będziemy musieli współpracować
do tego użyjemy UIAutomatorViewer
2) Podłącz urządzenie, na którym jest zainstalowana aplikacja, do komputera
3) Idź do terminala.
Rodzaj „Urządzenia adb”
C: Users NEERAJ> urządzenia adb
Lista załączonych urządzeń
Urządzenie TA93305G0L
Spowoduje to wyświetlenie listy urządzeń podłączonych do komputera.
4) Otwórz aplikację, którą chcesz zautomatyzować na urządzeniu mobilnym.
5) otwarty UIAutomatorViewer i idź na następną ścieżkę
adt-bundle-windows-x86_64-20140702 sdk tools
6) Upewnij się więc, że Twoja aplikacja jest uruchomiona i UIAutomaterViewer uruchamia się kliknij Zrzut ekranu urządzenia.
7) Ta opcja spowoduje wykonanie zrzutu ekranu aplikacji ze wszystkimi szczegółowymi informacjami o wszystkich elementach widocznych w aplikacji.
Kliknij przycisk Dodaj kontakt dla naszego scenariusza testowego
pytania do rozmowy kwalifikacyjnej testera Qa na poziomie podstawowym
Z powyższego zrzutu ekranu możemy skorzystać z lokalizatora By.name („Add Contact”)
Z powyższego zrzutu ekranu możemy pobrać By.className („android.widget.EditText”)) jako nasz lokalizator nazwy kontaktu
By.name („Save”) może być używany jako nasz lokalizator przycisku Zapisz
Pierwszy program do automatyzacji aplikacji w Appium
Uruchom poniższy skrypt, aplikacja Contact Manager zostanie uruchomiona na prawdziwym urządzeniu, a wszystkie dzienniki zostaną wyświetlone w konsoli Appium, pokazując wszystkie akcje wywoływane przez powyższy skrypt.
importjava.io.File; importjava.net.MalformedURLException; import java.net.URL; importjava.util.List; importorg.openqa.selenium.By; importorg.openqa.selenium.WebDriver; importorg.openqa.selenium.WebElement; importorg.openqa.selenium.remote.CapabilityType; importorg.openqa.selenium.remote.DesiredCapabilities; importorg.openqa.selenium.remote.RemoteWebDriver; importorg.testng.annotations.*; public class appium { WebDriver driver; @BeforeClass public void setUp() throws Exception { //location of the app File app = new File('C:\Users\NEERAJ\Downloads', 'ContactManager.apk'); //To create an object of Desired Capabilities DesiredCapabilities capability = new DesiredCapabilities(); //OS Name capability.setCapability('device','Android'); capability.setCapability(CapabilityType.BROWSER_NAME, ''); //Mobile OS version. In My case its running on Android 4.2 capability.setCapability(CapabilityType.VERSION, '4.2'); capability.setCapability('app', app.getAbsolutePath()); //To Setup the device name capability.setCapability('deviceName','Moto G'); capability.setCapability('platformName','Android'); //set the package name of the app capability.setCapability('app-package', 'com.example.android.contactmanager-1'); //set the Launcher activity name of the app capability.setCapability('app-activity', '.ContactManager'); //driver object with new Url and Capabilities driver = new RemoteWebDriver(new URL('http://127.0.0.1:4723/wd/hub'), capability); } @Test public void testApp() throws MalformedURLException{ System.out.println('App launched'); // locate Add Contact button and click it WebElementaddContactButton = driver.findElement(By.name('Add Contact')); addContactButton.click(); //locate input fields and type name and email for a new contact and save it ListtextFields = driver.findElements(By.className('android.widget.EditText')); textFields.get(0).sendKeys('Neeraj Test'); textFields.get(1).sendKeys('9999999999'); textFields.get(2).sendKeys('testemail@domain.com'); driver.findElement(By.name('Save')).click(); //insert assertions here } }
Skonfiguruj Appium za pomocą Eclipse IDE
Oprogramowanie wymagane dla Appium :
- JDK, Appium Server, Eclipse, Android SDK
- Słoiki: java-client jars i selenium jars.
- Apk: Aplikacja do zautomatyzowania
- Prawdziwe urządzenie: W tym przypadku SAMSUNG Note3
- Sterownik USB dla prawdziwego urządzenia: W tym przypadku SAMSUNG Kies
Krok 1: Zainstaluj Java Development Kit (JDK)
Krok 2: Ustawiać Ścieżka zmiennych środowiska Java
Idź do Terminala i wpisz:
Otwórz .bash_profile
Ustaw ścieżkę ANDROID_HOME oraz ścieżkę JAVA_HOME
Krok 3: Zainstaluj Android SDK / ADB na MAC
Musimy zainstalować Tools, Extras i odpowiednie pakiety API Level (w tym przypadku Android 4.4.2 API 19).
(Uwaga:Kliknij dowolny obraz, aby wyświetlić powiększenie)
Krok 4: Pobierz i epoki instalują serwer
Notatka 1: Nie trzeba niczego ustawiać w ikonie ustawień ogólnych. Kiedy Appium Server jest zainstalowany, adres serwera oraz adres portu zostaną ustawione domyślnie. Adres portu to 4723. W razie potrzeby użytkownik może zmienić adres serwera.
Uwaga 2: W ustawieniach Androida użytkownik musi ustawić ścieżkę APK, w której znajduje się APK, sprawdzić ścieżkę aplikacji, pakiet i uruchomić działanie.
Jak znaleźć nazwę pakietu plików .Apk i nazwę działania programu uruchamiającego:
Istnieje wiele sposobów na sprawdzenie nazwy pakietu i nazwy działania programu uruchamiającego aplikacji. Tutaj terminal jest używany do pobrania nazwy działania pakietu i programu uruchamiającego.
Przejdź do terminala i wpisz:
aapt dump badging
Naciśnij „Enter” na poniższym ekranie:
Jeśli użytkownik określi nazwę pakietu w Appium Server, a następnie Launcher Activity Name, poczekaj, aż nazwy działań zostaną wyświetlone automatycznie.
W tym przypadku nazwa działania programu uruchamiającego to:
' com.amazon.mShop.android.home.HomeActivity. ”
Kroki, aby włączyć tryb / opcje programisty na telefonie lub tablecie z Androidem
Krok 1:Włącz opcje programisty
1) Stuknij w Menu główne Ikona.
2) Iść do Ustawienia .
3) Przewiń w dół do „ O telefonie „I dotknij go.
4) Przewiń w dół i kliknij „ Numer kompilacji' Siedem (7) razy . ( Twój numer kompilacji może się różnić ). Po trzecim stuknięciu użytkownik może zobaczyć zabawne okno dialogowe „ Jesteś programistą ”. Naciskaj, aż zostanie wyświetlone okno dialogowe.
5) Możesz teraz zauważyć Opcje programisty na ekranie.
Krok 2:Włącz debugowanie USB
1) Iść do Opcje programisty .
dwa ) Wybierz Debugowanie USB .
3) Może wyświetlić Pop-Up wiadomość, a jeśli tak, po prostu Kliknij ok .
Krok 3:Pobierz i zainstaluj sterownik USB dla odpowiedniego rzeczywistego urządzenia. W tym przypadku SAMSUNG Kies.
Jak zlokalizować element za pomocą UIAutomatorViewer?
1) Pierwszym krokiem przed zlokalizowaniem dowolnego elementu na urządzeniu jest podłączenie urządzenia do komputera.
Wykonaj poniższe czynności, aby sprawdzić łączność urządzenia:
- Iść do Terminal .
- Rodzaj ' urządzenia adb '
Spowoduje to wyświetlenie listy urządzeń podłączonych do systemu.
2) Na prawdziwym urządzeniu otwórz aplikację, która ma zostać zautomatyzowana (tutaj aplikacja amazon jest zautomatyzowana)
3) Przejdź do następującego katalogu, aby otworzyć UIAutomatorViewer :
Użytkownicy -> Biblioteka -> android -> sdk -> przybory -> uiautomatorviewer.bat
BYŁY: users / bikram.badatya / Library / Android / sdk / tool /
4) W UIAutomatorViewer kliknij Zrzut ekranu urządzenia .
5) Po kliknięciu Zrzut ekranu urządzenia, obraz urządzenia wraz ze szczegółowymi informacjami zostanie wyświetlony po lewej stronie okna UIAutomator.
6) Po kliknięciu dowolnego elementu na stronie odpowiednie informacje o tym elemencie zostaną wyświetlone po prawej stronie.
7) Kliknij na Menu główne aby wyświetlić wszystkie właściwości.
Appium Test, aby uruchomić aplikację Amazon
1) Uruchom serwer Appium.
2) Ustawienia Androida.
3) Ogólne ustawienia adresu serwera i adresu portu:
4) Kliknij przycisk uruchamiania .
Fragment kodu do uruchomienia aplikacji Amazon:
package com.AppiumDemo; //Library to create the path to APK import java.io.File; //Library used to verify if URL is malformed import java.net.MalformedURLException; //Library used to create URL for the Appium server import java.net.URL; import java.util.concurrent.TimeUnit; //Libraries for import selenium WebDriver import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; //Libraries for configuring Desired Capabilities import org.openqa.selenium.remote.DesiredCapabilities; //Library for import TestNG import org.testng.annotations.Test; //Libraries for import Appium Drivers import io.appium.java_client.MobileElement; import io.appium.java_client.android.AndroidDriver; public class LauchAmazon { private static AndroidDriver driver; //static WebDriver driver; @Test public void setup() throws MalformedURLException, InterruptedException{ // Path to File appDir = new File('//Users//bikram.badatya//Library//Android//sdk//platform-tools//'); //Path to to Amazon apk File> File app = new File(appDir, 'Amazon.apk'); //To create an object of Desired Capabilities DesiredCapabilities capabilities = new DesiredCapabilities(); //To set Command Timeout in appium server.Its optional you can set in appium Server itself. capabilities.setCapability('no',true); capabilities.setCapability('newCommandTimeout', 100000); // Name of the OS: Android, iOS or FirefoxOS capabilities.setCapability('platformName', 'Android'); //set the name of the connected device.you have to give same name in both server and the code capabilities.setCapability('deviceName','41001fd89730a000'); //Mobile OS version. My device is running Android 4.4.2 capabilities.setCapability('AndroidVersion','4.4.2'); //set the package name of the app capabilities.setCapability('appPackage', 'com.amazon.mShop.android'); //set the Launcher activity name of the app capabilities.setCapability ('appActivity','com.amazon.mShop.android.home.HomeActivity'); // Name of mobile web browser to automate. It should be an empty string, as we are automation an app. capabilities.setCapability('browserName', ''); //driver object with new Url and Capabilities driver = new AndroidDriverPo wykonaniu powyższego skryptu aplikacja Amazon zostanie uruchomiona na rzeczywistym urządzeniu, a lista komunikatów zostanie wyświetlona w konsoli Appium.
Ważne polecenia
1) Aby zabić serwer adb:
adb kill-server
2) Aby uruchomić serwer adb:
Serwer startowy adb
3) Aby ustawić ścieżkę JAVA_Home również ANDROID_Home Path
otwórz .bash_profile
4) Aby uzyskać nazwę pakietu i nazwę programu uruchamiającego Androida w apk (w inny sposób)
aapt dump badging nazwa .apk
Były- aapt dump badging
/users/bikram.badatya/Library/Android/sdk/platform-tools/Amazon.apk
5) Aby zainstalować apk w prawdziwym urządzeniu
nazwa .apk instalacji adb
6) Aby odinstalować apk w prawdziwym urządzeniu
Odinstaluj adb
Były - adb odinstaluj com.amazon.mShop.android
Ograniczenia wcześniejszych epok
- Nie obsługuje poziomu interfejsu API systemu Android poniżej 17
- Wiadomości wyskakujące nie są obsługiwane
- Wykonywanie skryptów na platformie IOS jest bardzo powolne
- Obsługa gestów jest ograniczona
Wyzwania stojące przed pracą z Appium
# 1) Aby uzyskać nazwę działania programu uruchamiającego, która jest wymagana do uruchomienia aplikacji, można zastosować wiele metod, np. Należy zainstalować dodatkowy apk o nazwie „apkInfo”, napisać pewne linie kodu itp. Jednak w tym dokumencie, do pobrania nazwy działania programu uruchamiającego służy następujące polecenie.
to znaczy aapt dump badging nazwa .apk
#dwa) Podczas instalacji w menedżerze Android SDK musimy skupić się na następujących pakietach, które należy odinstalować. W przeciwnym razie aplikacja nie uruchomi się

# 3) Szczególnie na MAC musimy ustawić Java_HomePath i Android HomePath w .bash_profile, aby nie trzeba było konfigurować ponownie i ponownie.
# 4) Uruchomienie aplikacji za pomocą Emulatora pochłania więcej czasu w porównaniu do prawdziwego urządzenia. Dlatego zaleca się użycie prawdziwego urządzenia.
Wniosek
Wraz z pojawiającymi się trendami i rosnącym popytem na aplikacje mobilne, wszystkie duże firmy przeprowadzają migrację, aby rozpocząć działalność w aplikacjach mobilnych. W związku z tym najnowszym trendem w branży jest automatyzacja testowania aplikacji mobilnych o wysokiej jakości.
Appium ze względu na swoją prostotę i łatwość obsługi jest jednym z liderów i najczęściej używanych na całym świecie narzędzi do automatyzacji testowania aplikacji mobilnych na iOS lub Android.
O autorze: Ten post został napisany przez członka zespołu STH, Neeraja. Jest zapalonym testerem oprogramowania, obecnie pracuje jako starszy inżynier ds. Rozwoju oprogramowania w dziale Test i lubi testować aplikacje internetowe i mobilne.
Kliknij tutaj, aby przeczytać więcej Automatyzacja mobilna za pomocą narzędzia Appium Studio.
rekomendowane lektury
- Samouczek testowania mobilnego interfejsu użytkownika (testowanie GUI aplikacji iOS i Android)
- TOP 15 najlepszych mobilnych narzędzi testowych w 2021 roku na Androida i iOS
- Usługi testowania wersji beta aplikacji mobilnych (narzędzia do testowania wersji beta systemów iOS i Android)
- Dlaczego testy mobilne są trudne?
- Łączenie rzeczywistych urządzeń iOS i Android z chmury do Appium Studio
- Najlepsze narzędzia do testowania oprogramowania 2021 (Narzędzia do automatyzacji testów QA)
- Samouczki testowania aplikacji mobilnych (kompletny przewodnik z ponad 30 samouczkami)
- Jak szybko uzyskać pracę testera mobilnego - przewodnik kariery testera mobilnego (część 1)