Výukový program Selendroid pro začátečníky s příkladem

Obsah:

Anonim

Už jste někdy vyvinuli aplikaci pro Android a publikovali ji na Google Play? Co uděláte, když dostanete uživatelskou recenzi jako -

Když publikujete aplikaci na Google Play, musí být dobře otestována, aby se předešlo možným chybám. Existuje spousta testovacích scénářů, které by měly být provedeny před publikováním aplikace. Abyste ušetřili úsilí při testování, potřebujete testovací nástroj. Jedním z nejlepších testovacích nástrojů pro aplikaci pro Android je Selendroid.

  • Co je Selendroid?
  • Proč potřebujeme Selendroid?
  • Selendroidní architektura
  • Začínáme se Selendroidem
  • Nastavení prostředí Selendroid
  • Jak spustit Selendroid
  • Selendroid základní příkaz
  • Začněte svůj první test se Selendroidem

Co je Selendroid?

Selendroid je testovací automatizační rámec pro více typů mobilních aplikací: nativní a hybridní aplikace pro Android a mobilní web.

Testy můžete psát pomocí klientských rozhraní API Selenium 2. Protože Selendroid stále znovu využívá existující selenovou infrastrukturu pro web

Selendroid je výkonný testovací nástroj. Lze jej použít na emulátorech a reálných zařízeních

Proč potřebujeme Selendroid?

Selendroid je skvělý testovací nástroj. Stále však můžete pochybovat o jeho užitečnosti.

Tato část představí důležité funkce Selendroidu pro zodpovězení otázky, proč Selendroid potřebujete.

  • Testovanou aplikaci můžete otestovat pomocí Selendroidu bez jakékoli úpravy aplikace. Potřebujete pouze binární soubor (APK) nainstalovaný v počítači. Aby bylo možné nainstalovat binární soubor na zařízení, musí být testovací aplikace a mobilní aplikace podepsány stejným podpisovým klíčem
  • Selendroid testovací aplikace může komunikovat s více zařízeními nebo simulátory současně. Je to velká výhoda Selendroidu. Svou aplikaci tedy můžete otestovat na různých zařízeních Android a zkontrolovat kompatibilitu.
  • Selendroid může simulovat akce člověka a uživatele v aplikaci, jako je dotyk, přejetí prstem, přetažení na zařízení
  • Během testování můžete hardwarová zařízení (zapojit a odpojit) změnit bez restartování nebo zastavení testu. Selendroid automaticky rozpozná nová zařízení
  • V souladu s verzí Android API nahoru podporuje Selendroid také nové Android API (od API 10 do API 19)
  • Selendroid má také nějaký integrovaný inspekční nástroj, který vám pomůže identifikovat prvek uživatelského rozhraní testované aplikace. Například tlačítko ID, textové pole, zobrazení textu…

Selendroidní architektura

Selendroid je založen na instrumentačním rámci Androidu. Selendroidní testy jsou psány na základě API klienta Selenium Web driver, takže podporuje plnou integraci s aktuálními selenovými rámci.

Následující obrázek popisuje architekturu Selendroidu

Selendroid obsahuje 4 hlavní komponenty:

  • Web Driver Client - klientská knihovna Java založená na selenu. Tato knihovna by měla být nainstalována na počítači (který se používá k vývoji testovacích případů)
  • Selendroid-Server - Server, který běží, je v testované aplikaci na zařízení Android nebo simulátoru. Toto jsou hlavní součásti architektury Selendroid
  • Android Driver-App - Integrovaný ovladač pro Android, aplikace Web View pro testování mobilního webu.
  • Selendroid-Standalone - Tato součást se používá k instalaci serveru Selendroid a testované aplikace (AUT)

Začínáme se Selendroidem

Už jste věděli, jak důležitý je Selendroid. Nyní si zašpiníme ruce Selendroidem.

Před prvním testem se Selendroidem je třeba provést 3 kroky

Nastavení prostředí Selendroid

Selendroid může pracovat v systémech Windows, Linux a Mac OS. V tomto tutoriálu nastavíme Selendroid v OS Windows.

Před použitím Selendroidu musíte nejprve nainstalovat následující balíček

  • Java SDK (minimálně 1,6)

    Musíte souhlasit s licenční smlouvou a stáhnout instalační program java (v operačním systému vyberte základnu x64 nebo x86)

    Stáhněte a nainstalujte sadu Java SDK jako běžný software

  • Nejnovější verze sady Android SDK
  • Váš počítač musí mít alespoň jedno virtuální zařízení Android (AVD) nebo skutečné zařízení Android připojené k počítači.
  • Selendroid Samostatný se závislostmi, Selendroid Client a Selenium Client
  • Software Eclipse
  • Nastavit JAVA_HOME a ANDROID_HOME

    Krok 1) V okně klikněte pravým tlačítkem na Počítač -> Vlastnosti -> Pokročilé nastavení systému

    Krok 2) Zobrazení okna Vlastnosti systému, vyberte kartu Upřesnit -> Proměnné prostředí

    Krok 3) V okně Prostředí klikněte na Nový -> Zadejte proměnnou ANDROID_HOME následujícím způsobem

    Hodnota proměnné je cesta k android-sdks, které jste již nainstalovali.

    Najděte systémovou proměnnou Cesta -> Upravit -> Přidat následující řádek za aktuální řádek

    Podobně jako ANDROID_HOME přidejte novou proměnnou JAVA_HOME s hodnotou uvedenou níže

    Hodnota je Cesta k vaší instalaci Java JDK

    Krok 4) Restartujte počítač -> Hotovo

Jak spustit Selendroid

Krok 1) Získání aplikace v testu

Existující testovací aplikaci Selendroid můžete použít ke kontrole, jak Selendroid funguje (odkaz na testovanou ukázkovou aplikaci)

Po dokončení stahování zkopírujte tento soubor APK a výše uvedený samostatný soubor jar Selendroid do složky s názvem „ Guru99“

Krok 2) Spusťte Selendroid

Otevřete terminál ve Windows a přejděte do složky Guru99 vytvořené v kroku 1.

Spusťte následující příkaz

Výstup se zobrazí následovně

Po spuštění tohoto příkazu se spustí samostatný server HTTP Selendroid! Výchozí číslo portu tohoto serveru je 4444. Všechna hardwarová zařízení i virtuální zařízení Android budou automaticky skenována a rozpoznána. Selendroid identifikuje cílovou verzi systému Android a velikost obrazovky zařízení.

Chcete-li zkontrolovat cílovou verzi systému Android a informace o zařízení, můžete v prohlížeči spustit následující adresu URL:

http: // localhost: 4444 / wd / hub / status.

Selendroid základní příkaz

Tato část představuje základní příkazový řádek Selendroid-Standalone. Můžete je použít k nastavení testovacího prostředí Selendroid

  1. Nastavení portu Selendroid

    Výchozí port Selendroidu je 4444. Můžete však změnit jiný port přidáním parametru do příkazu pro spuštění Selendroidu

    Parametr: -port [číslo portu]

    Například:

    Ve výše uvedeném příkazu je 5555 nový port.

Takže adresa URL ke kontrole cílové verze systému Android se změní na: http: // localhost: 5555 / wd / hub / status

  1. Zadejte umístění testované aplikace (binární soubor APK). Selendroid pro tento soubor často vyžadoval absolutní cestu

    Parametr: -app [cesta k souboru]

    Například:

    Ve výše uvedeném příkazu Selendroid automaticky vyhledá základnu binárního souboru v souboru „C: \ Guru99App.apk“, aby získal informace o testované aplikaci.

    Zkontrolujte URL http: // localhost: 4444 / wd / hub / status, uvidíte tyto informace

  2. Změňte port, který Selendroid používá ke komunikaci s přístrojovým serverem. Selendroid používá jako výchozí port 8080

    Parametr: -selendroidServerPort [číslo portu]

    Příklad

    Port je nyní změněn na 9000

  3. Změňte časový limit pro spuštění emulátorů. Jednotka je milisekund.

    Parametr: -timeoutEmulatorStart

    Ve výchozím nastavení bude Selendroid čekat 300 000 milisekund, dokud se emulátor nespustí. Příkazem můžete změnit nový časový limit (200 000 ms)

    Po této době náš vypršel, pokud emulátor nelze spustit, Selendroid hodí chybu výjimky (došlo k chybě při hledání zařízení / emulátorů) a poté přestane fungovat

  4. Po spuštění příkazu Selendroid na terminálu uvidíte na obrazovce vytištěný protokol. Typ protokolu, který vidíte, můžete změnit přidáním následujícího parametru

    Parametr: -logLevel [typ protokolu]

    Hodnoty úrovně protokolu jsou CHYBA, VAROVÁNÍ, INFORMACE, LADENÍ a VERBOSE. Výchozí: CHYBA.

    Například nastavte Selendroid tak, aby tiskl pouze protokol VAROVÁNÍ, můžete použít tento příkaz

    Selendroid tiskne pouze protokol VAROVÁNÍ

Začněte svůj první test se Selendroidem

Tato část je krok za krokem průvodce vytvořením prvního testovacího skriptu pomocí Selendroidu

Předpokládejme, že máme aplikaci pro Android pod názvem testu Guru99App. Aplikace obsahuje textové pole a název tlačítka „Zobrazit text“.

STÁHNOUT APK ZDE

Musíme provést následující testovací případ pomocí Selendroidu

Testovací případy

Stav

Očekávaný výstup:

  1. Spusťte aplikaci
  2. Do textového pole zadejte text „ Guru99 Test
  3. Stiskněte tlačítko „Zobrazit text“

Binární soubor testované aplikace je k dispozici

K počítači je připojeno zařízení

Text „Text Show here“ se změní na text

který uživatel zadá do textového pole

Krok 1) Vytvořte projekt Java v Eclipse

Krok 2) Přidejte soubor selenu a nádoby Selendroid v prostředí zatmění

Klikněte pravým tlačítkem na Guru99Test Project -> Cesta sestavení -> Přidat externí archivy

Přejděte do složky, ve které byly uloženy soubory jar

Je třeba přidat 3 soubory jar

  • selendroid-client-0.10.0.jar: Selendroid java klientská knihovna
  • selendroid-standalone-0.11.0-with-dependencies: Selendroid standalone server library
  • selenium-java-2.40.0.jar: Selenium Web Driver library

Vyberte vše -> Zvolte Otevřít a přidejte do projektu soubor jar

Krok 3) po přidání výše uvedené knihovny budou tyto knihovny přidány do referenčních knihoven testovacího projektu. Tester může k vývoji testovacího programu použít rozhraní API těchto knihoven

Vytvořte balíček "com.guru.test" a přidejte java soubor "Guru99Test.java" jako níže

Klikněte pravým tlačítkem na Guru99Test -> Nový -> Balíček

Zadejte com.guru.test do pole Název v dialogovém okně Nový balíček Java à Dokončit

Eclipse vytvoří ve struktuře zdrojového kódu podobné složky a podsložky, jako je tento

Krok 4) Nainstalujte TestNG pro Eclipse

V Eclipse, Nápověda -> Instalovat nový software, v dialogu Instalovat klikněte na Přidat a zadejte následující

  • Název: TestNG
  • Umístění: http://selendroid.io/

Stisknutím tlačítka OK -> Další nainstalujte TestNG

Krok 5) Zkopírujte soubor Guru99App.apk do složky Test App

Krok 6) Získejte ID testované aplikace.

Předpokládejme, že máme název souboru APK Guru99App.apk. Postupujte podle kroků popsaných v předchozí části a proveďte příkaz na terminálu

Otevřete následující odkaz v prohlížeči

http: // localhost: 4444 / wd / hub / status.

Zobrazí se informace o zařízení, zkopírujte hodnotu appId "com.guru99app: 1.0"

Krok 7) Otevřete soubor Guru99Test.java (v ukázkovém kódu) a změňte jej následovně

Chcete-li vytvořit novou testovací relaci se Selendroidem, musíte zadat ID aplikace ve formátu: com.guru99app: 1.0. Toto ID aplikace je identifikováno v kroku 6. Pokud nenastavíte ID aplikace odpovídající zařízení Android, testovací relace vyvolá chybu a nespustí se.

Po inicializaci nalezeného zařízení vytvoří Selendroid přizpůsobený server selendroid a nainstaluje na něj server Selendroid

Selendroid také nainstaluje testovanou aplikaci a spustí selendroid-server na zařízení

Po úspěšné inicializaci testovací relace se spustí testovací příkaz na zařízení. (Například při zadávání textu stiskněte tlačítko

…). Pokud test připojí testovací relaci, emulátor se automaticky zastaví

Krok 8) Spusťte novou testovací relaci

Spusťte server Selendroid pomocí následujícího příkazu na terminálu, jako je krok 6

Po spuštění serveru Selendroid otevřete ukázkový testovací projekt Guru99test na Eclipse, nastavte zarážku na řádku 77 v souboru Guru99Test.java dvojitým kliknutím na řádek 77 -> Zobrazí se tečka jako níže

Spusťte testovací relaci pravým tlačítkem Klikněte na projekt Guru99Test -> Debug As -> Testng Test.

Spustí se testovací relace níže

Krok 9) Získejte ID prvku GUI testované aplikace

Po úspěšném zahájení testovací relace otevřete prohlížeč, přejděte na URL http: // localhost: 4444 / inspektor

Uvidíte, že je spuštěna Testovaná aplikace, jak je uvedeno níže

Umístěte ukazatel myši na každý prvek uživatelského rozhraní AUT (tlačítko, textové pole, textový štítek), ID každého prvku se zvýrazní v pravém podokně

Po tomto kroku můžete získat ID každého výše uvedeného prvku uživatelského rozhraní

  • Tlačítko Zobrazit ID textu: " btnShow "
  • ID textového pole: " edtText "
  • ID textu štítku: „ txtView

Tato ID budou použita v dalším kroku

Krok 10) Zadejte testovací program, jak je uvedeno níže

Testovací program využívající Selendroid obsahuje 3 sekce

Test nastavení:

Následuje kód pro test nastavení, nastaví podmínky pro testovací relaci. V případě chyby Selendroid vyvolá výjimku a testovací aplikace se zastaví.

Kód obsahuje komentáře vysvětlující každé prohlášení.

balíček com.guru.test;import io.selendroid.SelendroidCapabilities;importovat io.selendroid.SelendroidConfiguration;import io.selendroid.SelendroidDriver;importovat io.selendroid.SelendroidLauncher;import io.selendroid.device.DeviceTargetPlatform;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.testng.Assert;import org.testng.annotations.AfterSuite;import org.testng.annotations.BeforeSuite;import org.testng.annotations.Test;/ *** @Author Guru99 Test App using Selendroid* Testovaná aplikace: Guru99App** /veřejnosttřída Guru99Test {// Deklarovat proměnnou webového ovladačesoukromý ovladač WebDriver;/ *** Před testováním nastavte prostředí* @hodí výjimku* /@BeforeSuiteveřejnostvoid setUp () vyvolá výjimku {// Spustit samostatný test během testuKonfigurace SelendroidConfiguration = nová SelendroidConfiguration ();// Přidejte aplikaci selendroid-test na samostatný serverconfig.addSupportedApp ("Guru99App.apk");// spustit samostatný serverSelendroidLauncher selendroidServer = nový SelendroidLauncher (konfigurace);selendroidServer.launchSelendroid ();// Vytvořte možnosti selendroiduSelendroidCapabilities capa = nový SelendroidCapabilities ();// Určete použití testovací aplikace selendroidcapa.setAut ("com.guru99app: 1,0");// Určete použití rozhraní API zařízení Android 19capa.setPlatformVersion (DeviceTargetPlatform.ANDROID19);// Nepožadujte simulátor, používejte skutečné zařízenícapa.setEmulator (false);//capa.wait(10000000);// Vytvořit instanci ovladače Selendroid Driverdriver = new SelendroidDriver (capa);}

Proveďte test

Níže je uveden kód k provedení testu. Kód obsahuje komentáře

Zde jsou opět testovací kroky

  1. Zadejte text "Hello Guru"
  2. Klikněte na tlačítko Zobrazit text
  3. Počkej chvíli
  4. Ověřte, zda aplikace zobrazuje text, když uživatel zadá textové pole (např. Zobrazí text „Hello Guru“)
 / *** Začněte provádět testovací případ* 01. Do textového pole zadejte text „Selendroid“* 02. Stiskněte tlačítko OK* @hodí výjimku* /@Testveřejnostvoid selendroidTest () vyvolá výjimku {// Tisk protokoluSystem.out.print ("Zahájit provádění testu");// Najděte na obrazovce pole pro zadávání textu// ID tohoto textového pole bylo získáno z kroku 9WebElement inputField = driver.findElement (By.id ("edtText"));// Ověřte, zda je textové pole povoleno, aby uživatel mohl zadávat textAssert.assertEquals ("true", inputField.getAttribute ("povoleno"));// Zadejte text do textového poleinputField.sendKeys ("Hello Guru");// klikněte na tlačítko Zobrazit text// ID tohoto tlačítka bylo získáno z kroku 9Tlačítko WebElement = driver.findElement (By.id ("btnShow"));button.click ();// Zpoždění, než se projevíZávit. Spánek (5 000);// Na obrazovce najděte štítek „Text Show Here“// ID tohoto štítku bylo získáno z kroku 9WebElement txtView = driver.findElement (By.id ("txtView"));// Zobrazení textu na obrazovceOčekávaný řetězec = txtView.getText ();// Ověřte, že text, který uživatel zadá do textového pole, je stejný jako text zobrazený na obrazovceAssert.assertEquals (očekáváno, inputField.getText ());}

Dokončit test

Následující kód dokončí test zastavením ovladače Selendroid.

 / *** Zastavte ovladač Selendroid** /@AfterSuiteveřejnostvoid tearDown () {driver.quit ();}

Podrobnosti najdete v ukázkovém kódu zahrnutém v tomto článku.

Krok 10) Připojte zařízení Android k počítači pomocí kabelu USB. Body k pozorování -

  • Ujistěte se, že v zařízení není nakonfigurován žádný zámek obrazovky.
  • Zařízení musí být připojena přes USB k počítači, na kterém běží samostatná samostatná komponenta.
  • Zařízení by mělo instalovat alespoň Android Target Version API 10

Krok 11) Spusťte testovací aplikaci: Klikněte pravým tlačítkem na Guru99test -> Spustit jako -> TestNG test

Krok 10) Skript se spustí následovně

Krok 12) Po dokončení testu TestNG automaticky vygeneruje protokol o testu následujícím způsobem

Dobrá práce, nyní jste test dokončili.

souhrn

souhrn

  • Selendroid je velmi výkonný nástroj pro testování nativní aplikace pro Android, hybridní aplikace i webové aplikace.
  • Lze jej použít na reálných zařízeních i na simulátoru.
  • Umožňuje také paralelně spouštět testy spuštěním testu na více zařízeních.
  • Celá sada Selendroid se skládá ze čtyř komponent:
    • Klient webového ovladače,
    • Selendroid-Server,
    • Aplikace ovladače Android
    • Selendroid stojí sám
  • Abyste mohli používat Selendroid, musíte mít nainstalovanou Javu JDK, Android SDK a Eclipse.