Selendroid Opetusohjelma aloittelijoille esimerkin kanssa
Oletko koskaan kehittänyt Android hakemus ja julkaise se Google Pelaa? Mitä teet, jos saat käyttäjäarvostelun, kuten –
Kun julkaiset sovelluksen Google Pelin aikana se on testattava hyvin mahdollisten virheiden välttämiseksi. Ennen sovelluksen julkaisemista on suoritettava paljon testiskenaarioita. Säästääksesi 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 (kytkeä ja irrottaa) testauksen aikana käynnistämättä uudelleen tai pysäyttämättäping koe. 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 & siirry kansioon Guru99 luotiin vaiheessa 1.
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 sekä laitetiedot, voit käynnistää seuraavat URL 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 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 etsii automaattisesti binääritiedoston "C:\"-kansiostaGuru99App.apk” saadaksesi testattavan sovelluksen tiedot.
Tarkista URL
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 nimeltä ”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-projekti -> 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ää siihen Java-tiedosto ”Guru99Test.java” kuten alla
Klikkaa hiiren oikealla Guru99 Testi -> 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 se 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äynnistetty, avaa esimerkkitestausprojekti Guru99-testi päällä Eclipse, aseta keskeytyskohta tiedoston riville 77 Guru99Test.java kaksoisnapsauttamalla riviä 77 -> Näkyviin tulee piste kuten alla
Aloita testisessio napsauttamalla hiiren kakkospainikkeella Guru99Test-projekti -> Debug As -> Testng Testi.
Testijakso alkaa kuten alla
Vaihe 9) Hanki testattavan sovelluksen GUI-elementin tunnus
Kun testi on alkanut onnistuneesti, avaa selain ja siirry osoitteeseen URL 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, kun käyttäjä kirjoittaa sen 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 suorittaa testin loppuun pysäyttämälläping Ishayoiden opettaman 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.


































