appium tutorial testing android
Jak nainstalovat a nastavit Appium ve Windows pomocí prvního programu, který vám pomůže začít v Appiu:
Appium je open-source nástroj pro automatizaci testů používá testování mobilních aplikací . Umožňuje uživatelům testovat různé typy mobilních aplikací (například nativní, hybridní a mobilní web) pomocí standardní knihovny WebDriver.
Existují tři typy mobilních aplikací:
- Rodák: Nativní aplikace vytvořené pomocí sad iOS, Android nebo Windows SDK. Jsou specifické pro konkrétní platformu. Jsou postaveny tak, aby fungovaly na platformě a / nebo zařízení.
- Hybridní: Hybridní aplikace jsou webové aplikace vyvinuté pomocí HTML, CSS a obálky nativní aplikace nad UIWebView pro iOS a „webview“ pro Android.
- Mobilní webové aplikace: Mobilní webové aplikace jsou aplikace, ke kterým se přistupuje pomocí mobilních prohlížečů.
Seznam výukových programů v této sérii Appium
Výukový program č. 1: Výukový program Appium pro začátečníky (tento výukový program)
Výukový program č. 2: Úvod do Appia: Co je to Appium a jeho architektura
Výukový program č. 3: Stahujte, instalujte a instalujte Appium pro Windows
Výukový program č. 4: Konfigurace mobilního zařízení se systémem v Appiu
Výukový program č. 5: Automatizujte nativní aplikaci na zařízení Android pomocí aplikace Appium
Výukový program č. 6: Jak automatizovat webovou aplikaci v prohlížeči Chrome v zařízení Android
Co se naučíte:
- Proč je Appium oblíbeným nástrojem pro automatizaci mobilních aplikací?
- Nastavení nástroje Appium ve Windows
- Nastavit Appium pomocí Eclipse IDE
- Omezení dřívějších epoch
- Výzvy, kterým čelí při práci s Appiem
- Závěr
Proč je Appium oblíbeným nástrojem pro automatizaci mobilních aplikací?
Appium je „nástroj pro různé platformy“, tj. Umožňuje vám psát testy na více platformách (iOS, Android, Windows) pomocí stejných API. Použitím appium , také spouštíte automatizované testy na skutečných zařízeních, jako jsou tablety, mobilní telefony atd.
To je nejvíce široce používaný nástroj pro regresní testování mobilních aplikací na mobilních telefonech a tabletech. Appium usnadňuje regresní testování mobilních aplikací; zejména pro velké mobilní aplikace, které jsou často aktualizovány o nové funkce a funkce.
Nastavení nástroje Appium ve Windows
Předpoklady: Toto je užší seznam softwaru a hardwaru požadovaného pro automatizaci testování mobilních aplikací pomocí Appium:
- Váš počítač by měl mít nainstalovaný JDK, Appium Server, Eclipse, Android SDK
- Apk: Mobilní aplikace k automatizaci v našem případě ContactManager.apk
- Zkušební zařízení: V tomto případě Moto G
- Sklenice: Sklenice klienta Java a sklenice selenu.
- Ovladač USB pro testovací zařízení: V tomto případě Moto G
Krok 1: Nainstalujte sadu Java Development Kit ( JDK )
Krok 2: Nastavit Javu Proměnná cesta prostředí
Krok č. 3: Stáhněte a nainstalujte Android SDK tady a aktualizovat rozhraní API
Chcete-li aktualizovat API, Otevřete Eclipse -> klikněte na okno v nabídce Eclipse a -> vyberte správce Android SDK
Aktualizujte rozhraní API, jak je znázorněno na následujícím snímku obrazovky:
Krok č. 4: Nyní musíme nainstalovat Appium pro Windows. Jít tady a stáhněte si Appium pro Windows.
Krok č. 5: I nstall Node JS odtud: Stažení uzlu JS
Krok č. 6: Nastav ANDROID_HOME cesta stejně jako JAVA_HOME cesta
Zadejte cestu pro nástroje a nástroje platformy přítomné v cestě Android SDK.
Tyto složky by byly přítomny v adt-bundle-windows-x86_64-20140702 sdk
Nyní musíme aktualizovat proměnnou prostředí (viz níže Screenshot)
(Poznámka:Kliknutím na libovolný obrázek zobrazíte zvětšené zobrazení)
Aktualizujte cestu pomocí nástrojů a nástrojů platformy (složka přítomná v sadě Android SDK).
Položka v cestě bude vypadat níže:
C: Program Files nodejs ;% ANDROID_HOME% tools;% ANDROID_HOME% platform-tools
Krok č. 7: Přístup k adb
Stiskněte kombinaci kláves Win + R.
Typ CMD . Nyní v CMD typu „ příd “. adb bude přístupný
Příprava mobilního zařízení na automatizaci pomocí Appia
Připojte své mobilní testovací zařízení přes USB k PC. Před automatizací aplikace povolte režim pro vývojáře na mobilním telefonu.
Kroky k povolení režimu / možností vývojáře v telefonu nebo tabletu Android:
1) Otevřete Nastavení, klepněte na možnost „O aplikaci“, klepněte na „Informace o softwaru“, klepněte na „Další“.
2) Klepnutím na „Číslo sestavení“ 7krát povolíte možnosti vývojáře.
3) Vraťte se do Nastavení a zkontrolujte, zda je k dispozici nastavení „Možnosti pro vývojáře“.
4) Klepněte na Možnosti vývojáře a zapněte možnost Ladění USB z nabídky na další obrazovce.
Další nápovědu sledujte odkaz .
5) Stáhněte a nainstalujte ovladače USB pro mobilní testovací zařízení na PC.
6) V terminálu adb zadejte „zařízení adb“
C: Users NEERAJ> zařízení adb
Seznam připojených zařízení
Zařízení TA93305G0L
Zobrazí se seznam zařízení připojených k systému. Budeme používat App Contact Manager.apk jako ukázkovou aplikaci k automatizaci. Stáhněte a nainstalujte Kontaktujte Manager.apk na zařízení.
Zahájení automatizace aplikace pro Android pomocí Appia
Nyní spusťte appium.exe na PC.
Appium musí být spuštěno a předat následující parametry a název zařízení v nastavení systému Android.
Poznámka: Na ikoně obecného nastavení neměňte číslo portu ani nic. Při spuštění serveru Appium se ve výchozím nastavení nastaví adresa serveru i adresa portu. Ve výchozím nastavení bude adresa portu 4723
V nastavení systému Android musí uživatel nastavit cestu APK, kde se nachází APK, zkontrolovat cestu aplikace, zabalit a spustit aktivitu.
- Připojte telefon Android k PC a zapněte režim ladění USB.
- Otevřete příkazový řádek.
- Zadejte příkaz adb logcat .
- Otevřete aplikaci v telefonu Android. Okamžitě stiskněte CTRL + C v příkazovém řádku
com.example.android.contactmanager je název balíčku a com.example.android.contactmanager.ContactManager je název aktivity aplikace Contact Manager.
Na výše uvedeném snímku obrazovky jsme vyplnili všechny potřebné informace v aplikaci Appium, tj. Balíček, aktivita spuštění, název mobilního zařízení.
Jak najít prvek pomocí UIAutomatorViewer?
1) K automatizaci aplikace nejprve budeme muset najít prvky aplikace, které budeme potřebovat k interakci
k tomu použijeme UIAutomatorViewer
2) Připojte zařízení, ve kterém je nainstalována aplikace, k počítači
3) Přejít na terminál.
Typ „Zařízení adb“
C: Users NEERAJ> zařízení adb
Seznam připojených zařízení
Zařízení TA93305G0L
Zobrazí se seznam zařízení připojených k počítači.
4) V mobilním zařízení otevřete aplikaci, kterou chcete automatizovat.
5) Otevřeno UIAutomatorViewer a přejděte na následující cestu
adt-bundle-windows-x86_64-20140702 sdk tools
6) Ujistěte se tedy, že je vaše aplikace spuštěna a UIAutomaterViewer se spustí klikněte na snímek obrazovky Zařízení.
7) Tato možnost pořídí snímek obrazovky aplikace se všemi podrobnými informacemi o všech prvcích viditelných v aplikaci.
Klikněte na tlačítko Přidat kontakt pro náš testovací scénář
soukromé servery pro World of Warcraft
Z výše uvedeného snímku obrazovky můžeme použít lokátor By.name („Přidat kontakt“)
Z výše uvedeného snímku obrazovky můžeme vzít By.className („android.widget.EditText“)) jako náš vyhledávač pro kontaktní jméno
By.name („Uložit“) lze použít jako náš vyhledávač tlačítka Uložit
První program pro automatizaci aplikace v Appiu
Spusťte níže uvedený skript, aplikace Contact Manager se spustí na skutečném zařízení a všechny protokoly se zobrazí v konzoli Appium, kde se zobrazí všechny akce vyvolávané výše uvedeným skriptem.
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 } }
Nastavit Appium pomocí Eclipse IDE
Software vyžadovaný pro Appium :
- JDK, Appium Server, Eclipse, Android SDK
- Sklenice: sklenice java-klienta a sklenice selenu.
- Apk: Automatizovaná aplikace
- Skutečné zařízení: V tomto případě SAMSUNG Note3
- Ovladač USB pro skutečné zařízení: V tomto případě SAMSUNG Kies
Krok 1: Nainstalujte Java Development Kit (JDK)
Krok 2: Založit Proměnná cesta prostředí Java
Přejděte na terminál a zadejte:
Otevřete .bash_profile
Nastavte cestu ANDROID_HOME a cestu JAVA_HOME
Krok 3: Nainstalujte si Android SDK / ADB na MAC
Musíme nainstalovat nástroje, doplňky a odpovídající balíčky úrovně API (v tomto případě Android 4.4.2 API 19).
(Poznámka:Kliknutím na libovolný obrázek zobrazíte zvětšené zobrazení)
Krok 4: Stáhnout a epochový instalační server
Poznámka 1: Na ikoně obecného nastavení není třeba nic nastavovat. Když je nainstalován Appium Server, bude adresa serveru stejně jako adresa portu nastavena ve výchozím nastavení. Adresa portu bude 4723. Uživatel může podle potřeby změnit adresu serveru.
Poznámka 2: V nastavení systému Android musí uživatel nastavit cestu APK, kde se nachází APK, zkontrolovat cestu aplikace, zabalit a spustit aktivitu.
Jak najít název balíčku souboru APK a název aktivity spouštěče:
Existuje tolik způsobů, jak zjistit název balíčku a název aktivity spouštěče aplikace. Zde se terminál používá k získání názvu aktivity balíčku a spouštěče.
Přejděte na terminál a zadejte:
aapt dump badging
Stiskněte „Enter“ pro obrazovku níže:
Pokud uživatel zadá název balíčku na serveru Appium Server, pak Název aktivity spouštěče, počkejte, až se názvy aktivit zobrazí automaticky.
V tomto případě je název aktivity spouštěče:
' com.amazon.mShop.android.home.HomeActivity. “
Kroky k povolení režimu / možností pro vývojáře v telefonu nebo tabletu Android
Krok 1:Povolit možnosti pro vývojáře
1) Klepněte na Hlavní menu ikona.
2) Jít do Nastavení .
3) Přejděte dolů na „ O telefonu „A klepněte na něj.
4) Přejděte dolů dolů a klepněte na „ Číslo sestavení' Sedm (7) krát . ( Vaše číslo sestavení se může lišit ). Po třetím klepnutí se uživateli zobrazí hravý dialog “ Jste vývojář “. Pokračujte v klepání, dokud se nezobrazí dialog.
5) Možnosti pro vývojáře si nyní můžete všimnout na obrazovce.
Krok 2:Zapněte ladění USB
1) Jít do Vývojářské možnosti .
dva ) Vybrat Ladění USB .
3) Může zobrazit Vyskakovat a pokud ano, jednoduše klikněte OK .
Krok 3:Stáhněte a nainstalujte ovladač USB pro odpovídající skutečné zařízení. V tomto případě SAMSUNG Kies.
Jak najít prvek pomocí UIAutomatorViewer?
1) Prvním krokem před vyhledáním libovolného prvku v zařízení je připojení zařízení k počítači.
Podle následujících pokynů zkontrolujte připojení zařízení:
- Jít do Terminál .
- Zadejte „ zařízení adb ''
Zobrazí se seznam zařízení připojených k systému.
2) Na skutečném zařízení otevřete aplikaci, která má být automatizována (zde je aplikace Amazon automatizována)
3) Otevřete následující adresář UIAutomatorViewer :
Uživatelé -> Knihovna -> Android -> sdk -> nástroje -> uiautomatorviewer.bat
BÝVALÝ: users / bikram.badatya / Library / Android / sdk / tool /
4) V UIAutomatorViewer klikněte na Snímek obrazovky zařízení .
5) Po kliknutí Snímek obrazovky zařízení, obrázek zařízení spolu s podrobnými informacemi se zobrazí na levé straně okna UIAutomator.
6) Po kliknutí na libovolný prvek na stránce se na pravé straně zobrazí příslušné informace o tomto prvku.
7) Klikněte na Hlavní menu tlačítko pro zobrazení všech vlastností.
Appium Test pro spuštění aplikace Amazon
1) Spusťte server Appium.
2) Nastavení systému Android.
3) Obecná nastavení pro adresu serveru a adresu portu:
4) Klikněte na spouštěcí tlačítko .
Fragment kódu pro spuštění aplikace 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 spuštění výše uvedeného skriptu se spustí aplikace Amazon na skutečném zařízení a v konzoli Appium se zobrazí seznam zpráv.
Důležité příkazy
1) Jak zabít server adb:
adb kill-server
2) Spuštění serveru adb:
adb start-server
3) Chcete-li nastavit cestu JAVA_Home i cestu ANDROID_Home
otevřete .bash_profile
4) Chcete-li získat název balíčku a název spouštěče systému Android v apk (jiným způsobem)
aapt dump badging .apk název
Bývalý- aapt dump badging
/users/bikram.badatya/Library/Android/sdk/platform-tools/Amazon.apk
5) Chcete-li nainstalovat apk do skutečného zařízení
název .apk instalace adb
6) Chcete-li odinstalovat apk ve skutečném zařízení
odinstalování adb
Bývalý - adb odinstalovat com.amazon.mShop.android
Omezení dřívějších epoch
- Nepodporuje úroveň Android API nižší než 17
- Toast zprávy nejsou podporovány
- Provádění skriptů na platformě IOS je velmi pomalé
- Podpora gest je omezená
Výzvy, kterým čelí při práci s Appiem
# 1) Chcete-li získat název aktivity spouštěče, který je vyžadován ke spuštění aplikace, lze použít mnoho metod, jako je třeba nainstalovat další apk s názvem „apkInfo“, je třeba napsat určité řádky kódu atd. Ale v tomto dokumentu, následující příkaz se používá k získání názvu aktivity spouštěče.
tj. aapt dump badging .apk název
#dva) Během instalace ve správci Android SDK se musíme zaměřit na následující balíčky, které je třeba odinstalovat. Jinak se aplikace nespustí
# 3) Zejména na MAC musíme nastavit Java_HomePath a Android HomePath v .bash_profile, aby nebylo nutné znovu a znovu nastavovat.
# 4) Spuštění aplikace pomocí emulátoru spotřebuje více času ve srovnání se skutečným zařízením. Proto se doporučuje použití skutečného zařízení.
Závěr
S objevujícími se trendy a větší poptávkou po mobilních aplikacích migrují všechny hlavní společnosti, aby své podnikání získaly v mobilních aplikacích. Uvolňování kvalitních mobilních aplikací je tedy nejnovějším trendem v oboru automatizované testování mobilních aplikací.
Appium je díky své jednoduchosti a snadnému použití jedním z lídrů a nejpoužívanějších nástrojů po celém světě pro testování automatizace mobilních aplikací pro iOS nebo Android.
O autorovi: Tento příspěvek napsal člen týmu STH Neeraj. Je vášnivým testerem softwaru, který v současné době pracuje jako Senior Engineer pro vývoj softwaru v Testu a rád testuje webové a mobilní aplikace.
Zde se dozvíte více Mobilní automatizace pomocí nástroje Appium Studio.
Doporučené čtení
- Výukový program pro testování mobilního uživatelského rozhraní (testování grafického uživatelského rozhraní pro aplikace pro iOS a Android)
- TOP 15 nejlepších nástrojů pro mobilní testování v roce 2021 pro Android a iOS
- Beta testovací služby pro mobilní aplikace (nástroje pro testování beta verze iOS a Android)
- Proč je mobilní testování těžké?
- Připojení skutečných zařízení iOS a Android z cloudu k Appium Studio
- Nejlepší nástroje pro testování softwaru 2021 [QA Test Automation Tools]
- Výukové programy pro testování mobilních aplikací (Kompletní průvodce s 30 a více výukové programy)
- Jak rychle získat práci s mobilním testováním - Průvodce mobilním testováním (část 1)