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.


































