Selendroid Õpetus näitega algajatele
Kas olete kunagi välja töötanud Android rakendus ja avaldage see Google Mängi? Mida sa teed, kui saad kasutajalt arvustuse, näiteks –
Kui avaldate rakenduse Google Mängida tuleb võimalike vigade vältimiseks korralikult testida. Enne rakenduse avaldamist tuleks läbi viia palju testimisstsenaariume. Selle salvestamiseks Testimine jõupingutusi, vajate testimisvahendit. Üks parimaid testimisvahendeid Android rakendus on Selendroid.
Mis on Selendroid?
Selendroid on testimise automatiseerimise raamistik mitut tüüpi mobiilirakenduste jaoks: emakeelena ja hübriid Android rakendus ja liikuv veebis.
Teste saate kirjutada kasutades Selenium 2 kliendi API-d. Sest Selendroid ikka taaskasutab olemasolevat Selenium infrastruktuur veebi jaoks
Selendroid on võimas testimisvahend. Seda saab kasutada emulaatorid ja päris seadmed
Miks me vajame Selendroid?
Selendroid on suurepärane testimisvahend. Kuid võite siiski kahelda selle kasulikkuses.
Selles jaotises tutvustatakse selle olulisi funktsioone Selendroid et vastata küsimusele, miks seda vaja on Selendroid.
- Testitavat rakendust saate testida kasutades Selendroid ilma rakendust muutmata. Teil on vaja lihtsalt binaarfaili (APK) arvutisse installitud. Binaarfaili seadmesse installimiseks peavad testrakendus ja mobiilirakendus olema allkirjastatud sama märgivõtmega
- Selendroid testrakendus saab samaaegselt suhelda mitme seadme või simulaatoriga. See on suur eelis Selendroid. Nii saate oma rakendust testida erinevate rakendustega Android seadmeid ühilduvuse kontrollimiseks.
- Selendroid saab simuleerida inimese-kasutaja toiminguid rakenduses, nagu puudutamine, pühkimine, seadmetes pukseerimine
- Testimise ajal saate riistvaraseadmeid muuta (ühendada ja lahti ühendada) ilma taaskäivitamist või peatamist tegemata.ping testi. Selendroid tuvastab uued seadmed automaatselt
- Vastab Android API versioon üles, Selendroid toetab ka uut Android API (Alates API 10 kuni API 19)
- Selendroid Sellel on ka mõni sisseehitatud inspektori tööriist, mis aitab tuvastada testitava rakenduse kasutajaliidese elementi. Näiteks ID-nupp, tekstiväli, tekstivaade…
Selendroid Architektuur
Selendroid põhineb Android instrumentide raamistik. Selendroid testid on kirjutatud alusel Selenium Veebidraiveri kliendi API, nii et see toetab täielikku integreerimist praegusega Selenium raamistikud.
Järgmine joonis kirjeldab selle arhitektuuri Selendroid
Selendroid sisaldab 4 peamist komponenti:
- Veebidraiveri klient – The Java klienditeegi põhjal Selenium. See raamatukogu peaks olema arvutisse installitud (mida kasutatakse testjuhtumite väljatöötamiseks)
- Selendroid-Server – server, mis töötab testitavas rakenduses Android seade või simulaator. See on a Selendroid arhitektuur
- Android Draiveri rakendus – sisseehitatud Android draiver, veebivaate rakendus mobiilse veebi testimiseks.
- Selendroid- Eraldi – seda komponenti kasutatakse installimiseks Selendroid server ja testitav rakendus (AUT)
Alustamine koos Selendroid
Te olete juba teadnud, kui oluline on Selendroid. Nüüd määrime käed ära Selendroid.
Enne esimest testi tuleks teha 3 sammu Selendroid
A Selendroid keskkond
Selendroid saab töötada aknaga, Linux ja Mac OS. Selles õpetuses me seadistame Selendroid Windows OS-is.
Enne kasutamist Selendroid, peate esmalt installima järgmise paketi
- Java SDK (vähemalt 1.6)
Peate nõustuma litsentsilepinguga ja alla laadima java installeri (valige oma OS-is x64 või x86 baas)
Laadige alla ja installige Java SDK nagu tavaline tarkvara
- Uusim versioon Android SDK
- Teie arvutis peab olema vähemalt üks Android Virtual Device (AVD) või päris Android seade arvutiga ühendatud.
- Selendroid Sõltuvustega iseseisev, Selendroid klientja Selenium klient
- Eclipse tarkvara
- Seadistage JAVA_HOME ja ANDROID_HOME
Step 1) Paremklõpsake aknas Arvuti -> Kinnisvara -> Süsteemi täpsemad sätted
Step 2) Süsteemi atribuutide akna kuvamine, valige vahekaart Täpsemalt -> Keskkonna muutujad
Step 3) Kuvage keskkonnaaken, klõpsake nuppu Uus -> Sisestage muutuja ANDROID_HOME järgmiselt
Muutuja väärtus on tee android-sdks-i, mille olete juba installinud.
Leidke süsteemimuutuja Path -> Edit -> Lisage praeguse rea järele järgmine rida
Sarnaselt ANDROID_HOME-ga lisage uus muutuja JAVA_HOME, mille väärtus on allpool
Väärtus on tee sinu juurde Java JDK installimine
Samm 4) Taaskäivitage arvuti -> Tehtud
Kuidas käivitada Selendroid
Samm 1) Taotluse testimine
Saate kasutada olemasolevaid Selendroid testige rakendust, et kontrollida, kuidas Selendroid töötab (on siin testitava rakenduse näidiseks)
Kui allalaadimine on lõppenud, kopeerige see APK ja ülaltoodud Selendroid Iseseisev purk fail kausta nimega "Guru99 "
Samm 2) Käivitage Selendroid
Avage terminal sisse Windows & navigeeri kausta Guru99 loodi 1. etapis.
Käivitage järgmine käsk
Väljund kuvatakse järgmiselt
Pärast selle käsu käivitamist Selendroid- eraldiseisev HTTP-server käivitub! Selle serveri vaikimisi pordi number on 4444. Kõik riistvaraseadmed, samuti Android Virtuaalne seade skannitakse ja tuvastatakse automaatselt. Selendroid tuvastab Android sihtversiooni ja seadme ekraani suurus.
Kontrollimiseks Android sihtversiooni ja seadme teabe põhjal saate käivitada järgmised URL brauseris: http://localhost:4444/wd/hub/status.
Selendroid põhikäsk
See jaotis tutvustab teile mõnda põhilist Selendroid- Eraldi käsurida. Saate neid kasutada seadistamiseks Selendroid testimiskeskkond
- Port of Selendroid
Vaikimisi port Selendroid on 4444. Kuid saate minna teisele pordile, lisades käivitamiskäsule parameetri Selendroid
Parameeter: -port [pordi number]
Näiteks:
Ülaltoodud käsus on 5555 uus port.
Seega URL et kontrollida Android sihtversiooniks on muudetud: http://localhost:5555/wd/hub/status
- Määrake testitava rakenduse asukoht (binaarne APK-fail). Selendroid sageli nõuti selle faili absoluutset teed
Parameeter: -app [faili tee]
Näiteks:
Ülaltoodud käsus on Selendroid leiab automaatselt binaarfaili baasilt „C:\”Guru99App.apk”, et saada testitava rakenduse kohta teavet.
Vaata URL
http://localhost:4444/wd/hub/status, näete seda teavet - Muutke porti Selendroid kasutab instrumentatsiooniserveriga suhtlemiseks. Selendroid kasutab vaikimisi porti 8080
Parameeter: -selenroidServerPort [pordi number]
Näide
Port on nüüd muudetud 9000-ks
- Muutke emulaatorite käivitamise ajalõpu. Ühik on millisekundid.
Parameeter: -timeoutEmulatorStart
Vaikimisi Selendroid ootab 300,000 200,000 millisekundit, kuni emulaator käivitub. Saate käsuga lülituda uuele ajalõpule (XNUMX XNUMX ms).
Selle aja möödudes aegunud, kui emulaator ei saa käivituda, Selendroid kuvab erandi vea (seadmete/emulaatorite otsimisel ilmnes viga.) ja seejärel peatab töötamise
- Kui alustate Selendroid terminalis, näete ekraanil väljaprinditud logi. Saate muuta kuvatava logi tüüpi, lisades järgmise parameetri
Parameeter: -logLevel [logi tüüp]
Logitaseme väärtused on ERROR, WARNING, INFO, DEBUG ja VERBOSE. Vaikimisi: ERROR.
Näiteks seadke Selendroid ainult HOIATUSlogi printimiseks võite kasutada seda käsku
. Selendroid printige ainult HOIATUS logi
Alustage oma esimest testi Selendroid
See jaotis on samm-sammult juhis esimese testskripti loomisel Selendroid
Oletame, et meil on Android rakendus testi nime all Guru99App. Rakendus sisaldab tekstivälja ja nuppu nimega „Kuva tekst“.
Peame ellu viima järgmise Testjuhtum kasutamine Selendroid
| Testjuhtumid | Tingimus | Eeldatav väljund |
|---|---|---|
|
Testitava rakenduse binaarfail on saadaval
Seade on arvutiga ühendatud |
Tekst “Tekstishow siin” muudetakse tekstiks
mille kasutaja tekstiväljale sisestab |
Step 1) Loo Java projekt sisse Eclipse
Step 2) Lisa seleen ja Selendroid jar-fail eclipse'i keskkondades
Paremklõpsake Guru99Testi projekt -> Ehitage rada -> Lisa väline Archives
Liikuge kausta, kuhu jar-failid salvestati
Lisada tuleks 3 jar-faili
- selenroid-klient-0.10.0.jar: Selendroid java kliendi raamatukogu
- Selenroid-eraldi-0.11.0-sõltuvustega: Selendroid eraldiseisva serveri raamatukogu
- seleen-java-2.40.0.jar : Selenium Veebidraiveri raamatukogu
Vali kõik -> Jar-faili projekti lisamiseks valige Ava
Step 3) pärast ülaltoodud teegi lisamist lisatakse need teegid testprojekti viiteteekidesse. Testija saab testiprogrammi arendamiseks kasutada nende teekide API-sid
Loo pakett „com.guru.test” ja lisa sinna Java-fail „Guru99Test.java” nagu allpool näidatud
Paremklõps Guru99 Test -> Uus -> Pakend
Tippige valiku Uus väljale Nimi tekst com.guru.test Java Paketi dialoog à Lõpeta
. Eclipse loob lähtekoodi struktuuris sellised loendikaustad ja alamkaustad
Step 4) paigaldama TestNG eest Eclipse
In Eclipse, Abi -> Installi uus tarkvara, klõpsake installidialoogis nuppu Lisa ja sisestage järgmine
- Nimi: TestNG
- Asukoht: https://github.com/selendroid/selendroid
Vajutage OK -> Järgmisena installige TestNG
Step 5) Kopeeri Guru99App.apk Test Appi kausta
Step 6) Hankige testitava rakenduse ID.
Oletame, et meil on APK-faili nimi Guru99App.apk. Järgige eelmises jaotises kirjeldatud samme ja käivitage terminalis käsk
Avage brauseris järgmine link: http://localhost:4444/wd/hub/status.
Kuvatakse seadme teave, kopeerige appId väärtus “com.guru99app:1.0”
Step 7) Avage fail Guru99Test.java (näidiskoodis) ja muuda see järgmiselt
Uue testiseansi loomiseks rakendusega Selendroid, peate esitama rakenduse ID vormingus: com.guru99app:1.0. See rakenduse ID saab tuvastada sammus 6. Kui te ei määra rakenduse ID-d, mis vastavad Android seadmes, testiseanss ilmub tõrketeate ja ei käivitu.
Pärast leitud seadme lähtestamist Selendroid loob kohandatud selenroid-serveri ja installib selle Selendroid server sellel
Selendroid installib ka testitava rakenduse ja käivitab seadmes selenroid-serveri
Pärast testiseansi edukat initsialiseerimist alustatakse testikäskluse täitmist seadmes. (Näiteks teksti sisestamiseks vajutage nuppu...). Kui test lisab testiseansi, peatub emulaator automaatselt
Step 8) Alustage uut testiseanssi
Käivitage Selendroid server, kasutades terminalis järgmist käsku, nagu samm 6
Pärast Selendroid Server käivitatud, avage näidisprojekt Guru99test peal Eclipse, määra failis reale 77 katkestuspunkt Guru99Test.java faili käivitamiseks topeltklõpsake real 77 -> Kuvatakse punkt nagu allpool
Alusta testiseanssi paremklõpsuga Guru99Testi projekt -> Silumine kui -> Testng Test.
Testiseanss algab nagu allpool
Step 9) Hankige testitava rakenduse GUI elemendi ID
Pärast testiseansi edukat algust avage brauser ja navigeerige aadressile URL http://localhost:4444/inspector
Näete, et testitav rakendus käivitatakse nagu allpool
Hõljutage hiirt iga AUT kasutajaliidese elemendi (nupp, tekstiväli, tekstisilt) peale, iga elemendi ID tõstetakse paremal paanil esile
Pärast seda sammu saate iga ülaltoodud kasutajaliidese elemendi ID-d
- Nupp Kuva teksti ID: “btnShow"
- Tekstivälja ID: "edtText"
- Sildi teksti ID: “txtView"
Neid ID-sid kasutatakse järgmises etapis
Step 10) Sisestage testprogramm nagu allpool
Testprogramm, mis kasutab Selendroid sisaldab 3 sektsiooni
Seadistustest:
Järgmine on häälestustesti kood, mis seab testiseansi tingimuse. Vea korral Selendroid teeb erandi ja testrakendus peatub.
Kood sisaldab iga avalduse selgitamiseks kommentaare.
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);
}
Käivitage test
Allpool on kood testi läbiviimiseks. Kood sisaldab kommentaare
Siin on jälle testi sammud
- Sisesta tekst „Tere Guru"
- Klõpsake nuppu Kuva teksti nupp
- Oota veidi
- Veenduge, et rakendus kuvab teksti, kui kasutaja selle tekstiväljale sisestab (nt kuvab teksti „Tere 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());
}
Lõpeta test
Järgnev kood lõpetab testi käsuga stopping the,en Selendroid juht.
/**
* Stop the Selendroid driver
*
*/
@AfterSuite
public
void tearDown() {
driver.quit();
}
Üksikasju näete selles artiklis sisalduvas näidiskoodis.
Step 10) Võta meiega ühendust Android seade arvutisse USB-kaabli kaudu. Punktid, mida jälgida –
- Veenduge, et seadmel poleks ekraanilukku konfigureeritud.
- Seadmed peavad olema USB kaudu ühendatud arvutiga, milles töötab seleroidi eraldiseisev komponent.
- Seade peaks installima vähemalt Android Target API versioon 10
Step 11) Käivita testirakendus: paremklõpsake Guru99 test -> Jookse nagu -> TestNG test
Step 10) Skript käivitatakse järgmiselt
Step 12) Kui test on täitmise lõpetanud, TestNG auto genereerib testiaruande järgmiselt
Hea töö, olete nüüd testi läbinud.
kokkuvõte
- Selendroid on testimiseks väga võimas tööriist Android omarakendus, hübriidrakendus ja ka veebirakendus.
- Seda saab kasutada nii päris seadmetes kui ka simulaatoris.
- Samuti võimaldab see testida paralleelselt, käivitades testi mitmes seadmes.
- Kogu Selendroid komplekt koosneb neljast komponendist:
- Veebidraiveri klient,
- Selendroid-server,
- Android Draiveri rakendus
- Selendroid- seisa üksi
- Kasutada Selendroid teil on vaja Java JDK, Android SDK ja Eclipse paigaldatud.


































