Selendroid Opetusohjelma aloittelijoille esimerkin kanssa
Oletko koskaan kehittänyt Android sovellus ja julkaista se Google Playssa? Mitä teet, jos saat käyttäjäarvion, kuten -
Kun julkaiset sovelluksen Google Playssa, se on testattava hyvin mahdollisten virheiden välttämiseksi. On olemassa useita testiskenaarioita, jotka tulisi suorittaa ennen sovelluksen julkaisemista. Tallentaaksesi Testaus vaivaa, tarvitset testaustyökalun. Yksi parhaista testaustyökaluista Android sovellus on Selendroid.
Mikä on Selendroid?
Selendroid on testiautomaatiokehys monentyyppisille mobiilisovelluksille: syntyperäinen ja hybridi Android sovellus ja mobile Web.
Voit kirjoittaa kokeet käyttämällä Selenium 2 asiakassovellusliittymää. Koska Selendroid käyttää edelleen olemassa olevia Selenium infrastruktuuri verkkoa varten
Selendroid on tehokas testaustyökalu. Sitä voidaan käyttää päällä emulaattorit ja todellinen laitteet
Miksi tarvitsemme Selendroid?
Selendroid on loistava testaustyökalu. Mutta saatat silti epäillä sen hyödyllisyyttä.
Tässä osiossa esitellään tärkeimmät ominaisuudet Selendroid vastaamaan kysymykseen, miksi tarvitset Selendroid.
- Voit testata testattavaa sovellusta käyttämällä Selendroid ilman sovelluksen muutoksia. Tarvitset vain binaaritiedoston (APK) asennettuna tietokoneeseen. Binaaritiedoston asentaminen laitteelle edellyttää, että testisovellus ja mobiilisovellus allekirjoitetaan samalla allekirjoitusavaimella
- Selendroid testisovellus voi olla vuorovaikutuksessa useiden laitteiden tai simulaattoreiden kanssa samanaikaisesti. Se on suuri etu Selendroid. Joten voit testata sovellustasi erilaisilla Android laitteita yhteensopivuuden tarkistamiseksi.
- Selendroid voi simuloida ihmisen ja käyttäjän toimia sovelluksessa, kuten kosketusta, pyyhkäisyä, vetämistä ja pudottamista laitteissa
- Voit vaihtaa laitteistoa (Plug and irrota) testauksen aikana käynnistämättä tai pysäyttämättä testiä uudelleen. Selendroid tunnistaa uudet laitteet automaattisesti
- Vastaavat Android API-versio ylös, Selendroid tukee myös uutta Android API (API 10:stä API 19:ään)
- Selendroid siinä on myös sisäänrakennettu tarkastustyökalu, joka auttaa tunnistamaan testattavan sovelluksen käyttöliittymäelementin. Esimerkiksi ID-painike, tekstikenttä, tekstinäkymä…
Selendroid Archirakenne
Selendroid pohjautuu Android instrumentointikehys. Selendroid testit on kirjoitettu pohjalta Selenium Web-ajurin asiakassovellusliittymä, joten se tukee täyttä integraatiota nykyisen kanssa Selenium puitteet.
Seuraava kuva kuvaa arkkitehtuuria Selendroid
Selendroid sisältää 4 pääkomponenttia:
- Web Driver Client - Java asiakaskirjaston perusteella Selenium. Tämä kirjasto tulee asentaa tietokoneeseen (jota käytetään testitapausten kehittämiseen)
- Selendroid-Palvelin – Käytettävä palvelin on testattavassa sovelluksessa Android laite tai simulaattori. Tämä on a:n pääkomponentit Selendroid arkkitehtuuri
- Android Driver-App – sisäänrakennettu Android ohjain, Web View -sovellus mobiiliverkon testaamiseen.
- Selendroid-Standalone – Tätä komponenttia käytetään asentamaan Selendroid palvelin ja testattava sovellus (AUT)
Aloittaminen Selendroid
Tiedät jo sen tärkeyden Selendroid. Likaantaan nyt kätemme Selendroid.
Ennen ensimmäistä testiä on suoritettava 3 vaihetta Selendroid
Asennus a Selendroid ympäristö
Selendroid voi työskennellä ikkunassa, Linux ja Mac OS. Tässä opetusohjelmassa määritämme Selendroid Windows-käyttöjärjestelmässä.
Ennen Selendroid, sinun on ensin asennettava seuraava paketti
- Java SDK (vähintään 1.6)
Sinun on hyväksyttävä käyttöoikeussopimus ja ladattava java-asennusohjelma (valitse x64- tai x86-kanta käyttöjärjestelmässäsi)
Lataa ja asenna Java SDK kuin normaali ohjelmisto
- Uusin versio Android SDK
- Tietokoneessasi on oltava vähintään yksi Android Virtual Device (AVD) tai todellinen Android laite kytkettynä tietokoneeseen.
- Selendroid Itsenäinen riippuvuuksilla, Selendroid Asiakasja Selenium Asiakas
- Eclipse ohjelmisto
- Määritä JAVA_HOME ja ANDROID_HOME
Vaihe 1) Napsauta ikkunassa hiiren kakkospainikkeella Tietokone -> Kiinteistöt -> Järjestelmän lisäasetukset
Vaihe 2) Järjestelmän ominaisuudet -ikkunan näyttö, valitse Advanced-välilehti -> ympäristömuuttujat
Vaihe 3) Ympäristö-ikkunassa napsauta Uusi -> Kirjoita muuttuja ANDROID_HOME seuraavasti
Muuttujan arvo on polku android-sdks-tiedostoon, jonka olet jo asentanut.
Etsi järjestelmämuuttuja Path -> muokata -> Lisää seuraava rivi nykyisen rivin jälkeen
Kuten ANDROID_HOME, lisää uusi muuttuja JAVA_HOME, jonka arvo on alla
Arvo on polku sinun luoksesi Java JDK asennus
Vaihe 4) Käynnistä tietokone uudelleen -> valmis
Kuinka käynnistää Selendroid
Vaihe 1) Testaa hakemus
Voit käyttää olemassa olevia Selendroid testaa sovellus tarkistaaksesi kuinka Selendroid toimii (Linkki testattavana oleva esimerkkisovellus)
Kun lataus on valmis, kopioi tämä APK ja yllä olevat Selendroid Itsenäinen purkki tiedosto kansioon, jonka nimi on "Guru99″
Vaihe 2) Käynnistä Selendroid
Avaa terminaali päälle Windows & navigoi vaiheessa 99 luotuun kansioon Guru1.
Suorita seuraava komento
Tulos näkyy seuraavasti
Tämän komennon suorittamisen jälkeen Selendroid-erillinen HTTP-palvelin käynnistyy! Tämän palvelimen oletusporttinumero on 4444. Kaikki laitteistot sekä Android Virtuaalinen laite, skannataan ja tunnistetaan automaattisesti. Selendroid tunnistaa Android kohdeversio ja laitteen näytön koko.
Voit tarkistaa Android kohdeversion ja laitetietojen perusteella voit käynnistää seuraavan URL-osoitteen selaimessa: http://localhost:4444/wd/hub/status
.
Selendroid peruskomento
Tämä osio esittelee sinulle joitain perustietoja Selendroid- Erillinen komentorivi. Voit käyttää niitä määrittämään Selendroid testausympäristö
- Asetetaan portti Selendroid
Oletusportti Selendroid on 4444. Voit kuitenkin vaihtaa toiseen porttiin lisäämällä parametrin käynnistyskomentoon Selendroid
Parametri: -portti [porttinumero]
Esimerkiksi:
Yllä olevassa komennossa 5555 on uusi portti.
Joten URL-osoite tarkistaa Android kohdeversio on muutettu seuraavaksi: http://localhost:5555/wd/hub/status
- Määritä testattavan sovelluksen sijainti (binaarinen APK-tiedosto). Selendroid vaativat usein tämän tiedoston absoluuttisen polun
Parametri: -app [tiedostopolku]
Esimerkiksi:
Yllä olevassa komennossa Selendroid Etsi automaattisesti binääritiedostokanta tiedostosta "C:\Guru99App.apk" saadakseen testattavan sovelluksen tiedot.
Tarkista URL-osoite
http://localhost:4444/wd/hub/status
, näet nämä tiedot - Vaihda portti Selendroid käyttää kommunikointiin instrumentointipalvelimen kanssa. Selendroid käyttää porttia 8080 oletuksena
Parametri: -selenroidServerPort [porttinumero]
esimerkki
Portiksi on nyt vaihdettu 9000
- Muuta aikakatkaisua emulaattorien käynnistämiseksi. Yksikkö on millisekuntia.
Parametri: -timeoutEmulatorStart
Oletusarvoisesti Selendroid odottaa 300,000 200,000 millisekuntia, kunnes emulaattori käynnistyy. Voit vaihtaa uuteen aikakatkaisuun (XNUMX XNUMX ms) komennolla
Tämän ajan jälkeen meidän vanhentunut, jos emulaattori ei voi käynnistyä, Selendroid lähettää poikkeusvirheen (Virhe etsittäessä laitteita/emulaattoreita.) ja lopettaa toiminnan
- Kun aloitat Selendroid komento päätteessä, näet lokin tulostettuna näytölle. Voit muuttaa näkemäsi lokin tyyppiä lisäämällä seuraavan parametrin
Parametri: -logLevel [lokin tyyppi]
Lokitason arvot ovat ERROR, WARNING, INFO, DEBUG ja VERBOSE. Oletus: ERROR.
Esimerkiksi asettaa Selendroid tulostaaksesi vain VAROITUSlokin, voit käyttää tätä komentoa
- Selendroid tulosta vain VAROITUSloki
Aloita ensimmäinen testi Selendroid
Tämä osio on vaiheittainen opas ensimmäisen testiskriptin luomiseen käyttämällä Selendroid
Oletetaan, että meillä on Android sovellus testinimellä Guru99App. Sovellus sisältää tekstikentän ja painikkeen nimen "Näytä teksti".
Meidän on suoritettava seuraava Testitapaus käyttämällä Selendroid
Testitapaukset | Kunto | Odotettu tulos |
---|---|---|
|
Testattavan sovelluksen binaari on saatavilla
Laite on kytketty tietokoneeseen |
Teksti "Tekstiesitys täällä" muutetaan tekstiksi
jonka käyttäjä kirjoittaa tekstikenttään |
Vaihe 1) Luo Java projekti vuonna Eclipse
Vaihe 2) Lisää seleeniä ja Selendroid jar-tiedosto eclipse-ympäristöissä
Napsauta hiiren kakkospainikkeella Guru99Test Project -> Rakennuspolku -> Lisää ulkoinen Archives
Siirry kansioon, johon jar-tiedostot on tallennettu
3 jar-tiedostoa pitäisi lisätä
- selenroid-client-0.10.0.jar : Selendroid java asiakaskirjasto
- Selenroid-erillinen-0.11.0-riippuvuuksilla: Selendroid erillinen palvelinkirjasto
- seleeni-java-2.40.0.jar: Selenium Web Driver -kirjasto
Valitse kaikki -> Valitse Avaa lisätäksesi jar-tiedoston projektiin
Vaihe 3) yllä olevan kirjaston lisäämisen jälkeen kyseiset kirjastot lisätään testiprojektin viitekirjastoihin. Testaaja voi käyttää näiden kirjastojen sovellusliittymiä testiohjelman kehittämiseen
Luo paketti "com.guru.test" ja lisää java-tiedosto "Guru99Test.java" kuten alla
Napsauta hiiren kakkospainikkeella Guru99Test -> Uusi -> Paketti
Kirjoita Uusi-kohdan Nimi-kenttään com.guru.test Java Paketin valintaikkuna à Valmis
- Eclipse luo tämän kaltaisia luettelokansioita ja alikansioita lähdekoodirakenteeseen
Vaihe 4) install TestNG varten Eclipse
In Eclipse, Auta -> Asenna uusi ohjelmisto, napsauta asennusvalintaikkunassa Lisää ja kirjoita seuraava
- Nimi: TestNG
- Sijainti: https://github.com/selendroid/selendroid
Paina OK -> Seuraavaksi asentaa TestNG
Vaihe 5) Kopioi Guru99App.apk Test App -kansioon
Vaihe 6) Hanki testattavan sovelluksen tunnus.
Oletetaan, että meillä on APK-tiedostonimi Guru99App.apk. Noudata edellisessä osiossa kuvattua vaihetta ja suorita komento terminaalissa
Avaa seuraava linkki selaimessa: http://localhost:4444/wd/hub/status
.
Laitteen tiedot tulevat näkyviin, kopioi appId-arvo "com.guru99app:1.0"
Vaihe 7) Avaa tiedosto Guru99Test.java (esimerkkikoodissa) ja muuta seuraavasti
Luodaksesi uuden testiistunnon kanssa Selendroid, sinun on annettava sovelluksen tunnus muodossa: com.guru99app:1.0. Tämä sovellustunnus tunnistetaan vaiheessa 6. Jos et aseta sovellustunnusta vastaavaksi Android laitteella, testiistunto antaa virheen eikä käynnisty.
Kun löydetty laite on alustettu, Selendroid luo mukautetun selenroid-palvelimen ja asentaa sen Selendroid palvelin siinä
Selendroid asentaa myös testattavan sovelluksen ja käynnistää selenroid-palvelimen laitteessa
Kun testiistunto on alustettu onnistuneesti, testikomento alkaa suorittaa laitteella. (Kuten tekstin syöttäminen, paina painiketta…). Jos testi lisää testiistunnon, emulaattori pysähtyy automaattisesti
Vaihe 8) Aloita uusi testiistunto
Käynnistä Selendroid palvelin käyttäen seuraavaa komentoa päätteessä, kuten vaiheessa 6
Jälkeen Selendroid Palvelin käynnistynyt, avaa näytetestiprojekti Guru99test päällä Eclipse, aseta keskeytyskohta riville 77 tiedostossa Guru99Test.java kaksoisnapsauttamalla riviä 77 -> Näkyviin tulee piste kuten alla
Aloita testiistunto napsauttamalla hiiren kakkospainikkeella Guru99Test-projektiin -> Debug As -> Testng Testi.
Testijakso alkaa kuten alla
Vaihe 9) Hanki testattavan sovelluksen GUI-elementin tunnus
Kun testiistunto on alkanut onnistuneesti, avaa selain ja siirry URL-osoitteeseen http://localhost:4444/inspector
Näet, että testattava sovellus käynnistetään kuten alla
Vie hiiri kunkin AUT:n käyttöliittymäelementin kohdalle (painike, tekstikenttä, tekstitunniste), kunkin elementin tunnus korostuu oikeanpuoleisessa ruudussa
Tämän vaiheen jälkeen saat jokaisen yllä olevan käyttöliittymäelementin tunnuksen
- Painike Näytä tekstitunnus: “btnShow"
- Tekstikentän tunnus: "edtText"
- Tunnisteen tekstitunnus: "txtView"
Näitä tunnuksia käytetään seuraavassa vaiheessa
Vaihe 10) Anna testiohjelma alla olevan mukaisesti
Testiohjelma käyttää Selendroid sisältää 3 osaa
Asennustesti:
Seuraavassa on asetustestin koodi, joka määrittää testiistunnon ehdot. Jos tapahtuu virhe, Selendroid tekee poikkeuksen ja testisovellus pysähtyy.
Koodi sisältää kommentit, jotka selittävät jokaisen väitteen.
package com.guru.test; import io.selendroid.SelendroidCapabilities; import io.selendroid.SelendroidConfiguration; import io.selendroid.SelendroidDriver; import 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 * Application under test: Guru99App * */ public class Guru99Test { //Declare web driver variable private WebDriver driver; /** * Setup the environment before testing * @throws Exception */ @BeforeSuite public void setUp() throws Exception { //Start selendroid-standalone during test SelendroidConfiguration config = new SelendroidConfiguration(); // Add the selendroid-test-app to the standalone server config.addSupportedApp("Guru99App.apk"); //start the standalone server SelendroidLauncher selendroidServer = new SelendroidLauncher(config); selendroidServer.launchSelendroid(); // Create the selendroid capabilities SelendroidCapabilities capa = new SelendroidCapabilities(); // Specify to use selendroid's test app capa.setAut("com.guru99app:1.0"); // Specify to use the Android device API 19 capa.setPlatformVersion(DeviceTargetPlatform.ANDROID19); // Don't request simulator, use real device capa.setEmulator(false); //capa.wait(10000000); // Create instance of Selendroid Driver driver = new SelendroidDriver(capa); }
Suorita testi
Alla on koodi testin suorittamiseksi. Koodi sisältää kommentit
Tässä taas testivaiheet
- Kirjoita teksti "Hei Guru"
- Napsauta Näytä teksti -painike
- Odota hetki
- Varmista, että sovellus näyttää tekstin käyttäjän kirjoittaessa tekstikenttään (esim. Näytä teksti "Hei Guru")
/** * Start execute the test case * 01. Enter the text "Selendroid" to the textfield * 02. Press OK button * @throws Exception */ @Test public void selendroidTest() throws Exception { // Print the log System.out.print("Start executing test"); // Find the input text field on screen // The id of this text field was get from step 9 WebElement inputField = driver.findElement(By.id("edtText")); // Verify that the text field enabled so user can enter text Assert.assertEquals("true", inputField.getAttribute("enabled")); // Enter a text to text field inputField.sendKeys("Hello Guru"); // click Show Text button // The id of this button was get from step 9 WebElement button = driver.findElement(By.id("btnShow")); button.click(); // Delay time to take effect Thread.sleep(5000); //Find the label "Text Show Here" on screen // The id of this label was get from step 9 WebElement txtView = driver.findElement(By.id("txtView")); //Get the text display on screen String expected = txtView.getText(); // Verify that the text which user enter on text field is same as text display on screen Assert.assertEquals(expected, inputField.getText()); }
Viimeistele testi
Seuraava koodi päättää testin pysäyttämällä Selendroid kuljettaja.
/** * Stop the Selendroid driver * */ @AfterSuite public void tearDown() { driver.quit(); }
Näet yksityiskohdat tähän artikkeliin sisältyvästä esimerkkikoodista.
Vaihe 10) kytkeä Android laitteesta tietokoneeseen USB-kaapelilla. Huomioitavaa -
- Varmista, että laitteessa ei ole määritetty näytön lukitusta.
- Laitteet on liitettävä USB:n kautta tietokoneeseen, jossa Selenroid-erillinen komponentti toimii.
- Laite tulee asentaa vähintään Android Target Versio API 10
Vaihe 11) Suorita testisovellus: Napsauta hiiren kakkospainikkeella Guru99test -> Suorita nimellä -> TestNG testi
Vaihe 10) Skripti käynnistyy seuraavasti
Vaihe 12) Kun testi on suoritettu, TestNG auto luo testiraportin seuraavasti
Hyvää työtä, olet nyt suorittanut kokeen.
Yhteenveto
- Selendroid on erittäin tehokas työkalu testaukseen Android natiivisovellus, hybridisovellus sekä verkkosovellus.
- Sitä voidaan käyttää oikeilla laitteilla sekä simulaattorilla.
- Sen avulla voit myös suorittaa testejä rinnakkain suorittamalla testin useilla laitteilla.
- Koko Selendroid sviitti koostuu neljästä osasta:
- Web Driver asiakas,
- Selendroid- Palvelin,
- Android Kuljettajasovellus
- Selendroid- seiso yksin
- Käyttää Selendroid tarvitset Java JDK, Android SDK ja Eclipse asennettu.