selendroid tutorial android mobile test automation framework
java kako ukloniti element iz niza
Mobilna automatizacija pomoću Selendroida (Prvi dio):
Do sada su već razvijeni milijuni aplikacija koje koriste Android kao platformu, a broj se i dalje povećava iz dana u dan.
Kvaka je u tome kako provjeriti valjanost svake aplikacije? Budući da će nam biti potrebni namjenski resursi poput radne snage, stvarnih uređaja (recimo, mobitela) itd., A opet je to i dugotrajan zadatak. S druge strane, android verzija, inačica aplikacija .apk, dimenzija uređaja itd. Nisu stalne.
Stoga postaje vrlo teško definirati kriterije za izlazak iz testa, jer ne možemo definirati cjelovit opseg ispitivanja, pa se ne može izvršiti točna procjena napora na testiranju.
Kako bi se prevladala ovisnost o uređaju, razvijaju se emulatori koji mogu pružiti okruženje u stvarnom vremenu, u kojem možemo testirati aplikaciju bez brige o verziji androida, uređajima i njihovoj verziji. Ali, svejedno testiranje aplikacija (.apk) preko emulatora ručna je aktivnost i čak je dugotrajan zadatak. Stoga se razvija ideja automatizacije mobilnog testiranja.
Da bi se izvršila mobilna automatizacija, razvijen je okvir za automatizaciju testiranja koji omogućava automatizaciju aplikacija temeljene na Androidu pomoću skriptnog jezika.
Razvijeni su mnogi okviri za automatizaciju kao što su Selendroid, Appium, Robotium, Espresso.
Ovaj je vodič podijeljen u dva dijela:
Vodič br. 1 : Uvod u Selendroid: Android Mobile Test Automation Framework
Vodič br. 2: Kako koristiti Selendroid framework za automatizaciju korisničkih interakcija putem mobilne aplikacije (uskoro)
Što ćete naučiti:
- Što je Selendroid?
- Komponente Selendroida
- Postavljanje okoliša
- Pisanje prve skripte pomoću APK datoteka preko stvarnih uređaja
- Zaključak
- Preporučena literatura
Što je Selendroid?
Selendroid je nevjerojatan alatni okvir za automatizaciju testa za mobilne aplikacije s nekoliko važnih značajki. Selendroid je vrlo moćan alat za automatizaciju koji može istovremeno komunicirati s više uređaja, a aplikacija se može testirati bez ikakvih izmjena ili promjena pomoću programa Selendroid.
Također se naziva 'Selen za Android' za testiranje izvornih i hibridnih mobilnih aplikacija i mobilnog weba.
Zašto Selendroid?
- Otvoreni je izvor (besplatan za upotrebu)
- Podržava selen kao skriptni jezik
- Podržava jezike kompatibilne s web upravljačkim programima kao što su Java, C #, Perl
- Podržava sve verzije Androida
- Radi i na emulatoru kao i na stvarnom uređaju
- Radi na izvornoj, hibridnoj i internetskoj aplikaciji
- Učinkovito tijekom izvršavanja izvornih aplikacija kao i aplikacija zasnovanih na oblaku. jer podržava selenovu mrežu
- Podržava prepoznavanje objekata pomoću svojstava objekta
- Jednostavno za primjenu
- Hardverske uređaje možete priključiti, isključiti s računala tijekom izvođenja testa, bez ponovnog pokretanja ili zaustavljanja testa. Selendroid može automatski prepoznati nove uređaje. Ova je značajka poznata kao 'Hotplugging'
Jednostavna arhitektura Selendroida
Komponente Selendroida
Selendroid - klijent
U osnovi, to je knjižnica Java klijenta. Iz ove se komponente HTTP i WebDriver zahtjev šalju pomoću JSON-a na samostalni poslužitelj Selendroid.
Selendroid - samostalni
Ova komponenta upravlja različitim uređajima, kao i .apk-ima instaliranjem Selendroid-poslužitelja i aplikacije koja se testira. Zahtjev Http (koji će se izvršiti preko stvarnog uređaja / simulatora) šalje se sa samostalnog poslužitelja Selendroid na uređaj i apk koji se testira.
Selendroid - poslužitelj
Ovaj poslužitelj prelazi preko uređaja zajedno s testnom aplikacijom. Između poslužitelja i aplikacije koja se testira postoji dvosmjerna komunikacija.
AndroidDriverApp
To je ugrađeni Android upravljački program, kao i aplikacija Web View za testiranje mobilnog weba.
Još jedan test okvir nazvan APPI radi slično Selendroidu.
Evo male usporedbe između oba.
Značajka | Selendroid | apije |
---|---|---|
Podrška za nižu android verziju (<4.1) | Da | Nemoj |
Vruće uključivanje | Da | Nemoj |
Testiranje korisničkog agenta | Nemoj | Da |
Podrška za iOS zasnovan program | Nemoj | Da |
Zahtjevi za zaštitu okoliša | Za Android - Mac, Linux, Windows (bilo koja verzija) | Za iOS - Mac OSX 107. Za Android - Windows 7+, Linux, Mac OSX 107. |
Preduvjeti:
Za početak s namjeravanom publikom trebala bi biti vrlo dobro svjesna korištenja selena, bilo kakvih IDE alata poput Eclipsea itd. Osnovni koncepti programiranja kažu Java, C itd ... i moraju biti svjesni korištenja Mavena i ostalih TESTING alata.
- Instalirajte Intel x86 Emulator Accelerator (nije obavezno) za prikaz simulatora iz ovdje
- Java SDK, JRE je već instaliran u testnom okruženju. Isto možete preuzeti s istog ovdje
Zabilježite SDK putanju tijekom instaliranja.
Postavite varijable okoline prisutne preko Mog računala -> kliknite je desnom tipkom miša -> Svojstva -> Napredne postavke sustava
- Eclipse je već instaliran na vašem stroju. Ako nije, isto možete preuzeti i s web lokacije ovdje
- Datoteke iz selenijeve posude trebaju se preuzeti. Možete preuzeti isto odavde također
- Staklenke TestNG već su preuzete
- Android SDK za preuzimanje i instaliranje. Isto tako možete preuzeti s ovdje
Zabilježite put Android SDK-a tijekom instaliranja
Nakon preuzimanja, ANDROID_HOME bi trebao biti postavljen u prisutne varijable okoliša:
Moje računalo -> kliknite ga desnom tipkom miša -> Svojstva -> Napredne postavke sustava
- Datoteke jar selendroid trebaju se preuzeti. Isto tako možete preuzeti s ovdje
Zapamtiti da biste preuzeli zasebnu jar datoteku Selendroid s gornjeg mjesta. Naziv je obično poput selendroid-standalone-0.9.0-with-dependencies.jar. Također, preuzmite jedan uzorak APK datoteke recimo selendroid-test-app-0.8.0.apk s gornjeg mjesta
Bilješka:
- Možemo i koristiti spremište maven kako biste dali referencu na sve staklenke, inače ih morate ručno preuzeti i priložiti na stazu izrade (Over Eclipse Project)
- Uređaji / emulatori - U androidu će svi instalirani programi imati .apk proširenje. Na druge načine možete preuzeti aplikacije kao što su informacije o APK-u koje će vas informirati o popisu aplikacija instaliranih na vašem Android uređaju i stvarnom nazivu, veličini itd ...
Postavljanje okoliša
# 1) Zadržite APK koji treba instalirati na odgovarajućem mjestu
U mom sam slučaju to zadržao G: \ Staklenke \ selendroid-test-app-0.8.0.apk
# 2) Zatim, zadržite aplikaciju preko mape projekta
U mom slučaju jest 500: AppiumAutomation SelendroidFirst
# 3) Povežite stvarni uređaj s računalom
Provjerite je li omogućen način uklanjanja pogrešaka putem USB-a, a dopuštate i instaliranje vanjskih aplikacija putem USB veze.
Savjeti:
dot net intervju pitanja i odgovori za iskusne
- Molimo pogledajte postavku USB ispravljanja pogrešaka potrebnu za mobitel recimo Redmi Note 3 od ovdje
- Dopustite vanjskoj aplikaciji instaliranoj putem USB-a recimo Redmi note 3 od ovdje
# 4) Otvorite naredbeni redak u sustavu Windows
Dođite do mape u kojoj se nalazi samostalna jar jar Selendroid, kao i preuzeta apk datoteka.
Sada odredite sličnu naredbu i pritisnite enter u naredbenom retku
Npr. java --jar selendroid-standalone-0.15.0-with-dependencies.jar -aut selendroid-test-app-0.8.0.apk
Ili java –jar selendroid-standalone-0.15.0-with-dependencies.jar
APK datoteka: selendroid-test-app-0.8.0.apk
Bilješka: Kada se izvrši gornja naredba, provjerite je li APK potpisan i da li je stvarni uređaj povezan s računalom i omogućeno je uklanjanje pogrešaka na uređaju.
(Bilješka: Kliknite na sliku za uvećani prikaz)
Provjerite sljedeće točke preko naredbenog retka kako biste bili sigurni da je okruženje spremno za automatizaciju:
- Potvrdite poruku 'Uređaj naveden s važećim brojem'
- Provjerite za poruku 'poslužitelj je pokrenut u zadanom portu recimo (4444) ...'
- Potvrdite poruku 'Sesija se stvara ...'
Opet uvijek možemo ponovo potvrditi je li poslužitelj pokrenut ili ne koristeći sljedeći URL preko bilo kojeg vašeg web preglednika.
mobitel špijunska aplikacija za android
npr. http: // localhost: 4444 / wd / hub / status
# 5) Pregled APK-a
- Stvarne aplikacije možemo koristiti povezivanjem stvarnih mobilnih uređaja
- Možemo koristiti sve preuzete APK datoteke izvan mreže
Selendroid Inspector koristan je u otklanjanju pogrešaka / inspekciji web elemenata APK-a.
Nakon što uređaj prepozna i pokrene, možemo pregledati APK (u virtualnom načinu) i pronaći reference, što je korisno za pisanje skripti, koristeći sljedeći URL preko bilo kojeg vašeg web preglednika.
Npr .: http: // localhost: 4444 / inspektor
Ovdje imamo snimak zaslona aplikacije koja se testira, a imamo i mogućnost pregleda elementa.
Ili uvijek možete koristiti uiautomatorviewer kako bi pronašli predmete iz aplikacije koja se testira.
Zadani put za to naveden je u nastavku:
C: Korisnici admin android-sdks tools
C: Korisnici admin - Ovo je mjesto na kojem sam instalirao Android SDK, ali može biti različito prema mjestu navedenom tijekom njegove instalacije.
Pisanje prve skripte pomoću APK datoteka preko stvarnih uređaja
Cilj:
- Pokrenite poslužitelj (na zadanom priključku recimo 4444)
- Stvorite sesiju
- Instalirajte aplikaciju (.apk datoteka) preko povezanog stvarnog uređaja
- Automatizirajte tekstno polje s nekim podacima
- Automatski kliknite gumb
package SelendroidFirst; import io.selendroid.client.SelendroidDriver; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClientBuilder; import io.selendroid.common.SelendroidCapabilities; import io.selendroid.common.device.DeviceTargetPlatform; import io.selendroid.standalone.SelendroidConfiguration; import io.selendroid.standalone.SelendroidLauncher; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.testng.annotations.AfterSuite; import org.testng.annotations.BeforeSuite; import org.testng.annotations.Test; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.remote.*; import static org.openqa.selenium.remote.CapabilityType.BROWSER_NAME; import static org.openqa.selenium.remote.CapabilityType.PLATFORM; import static org.openqa.selenium.remote.CapabilityType.VERSION; public class RealDevices{ public SelendroidLauncher selendroidServer = null; public WebDriver driver = null; public void conf() throws Exception { //**Configuration**// SelendroidConfiguration config = new SelendroidConfiguration(); config.addSupportedApp('G:\Jars\selendroid-test-app-0.8.0.apk'); SelendroidLauncher selendroidServer = new SelendroidLauncher(config); selendroidServer.launchSelendroid(); //**Creating capabilities**// SelendroidCapabilities sc = new SelendroidCapabilities(); sc.setAut('io.selendroid.testapp:0.8.0'); sc.setEmulator(false); //**Instantiating new Selendroid driver**// WebDriver driver = new SelendroidDriver(sc); //**Sending data to the text field**// driver.findElement(By.id('my_text_field')).sendKeys('Selendroid Test'); //**Clicking on the button**// driver.findElement(By.id('visibleButtonTest')).click(); Thread.sleep(10000); }
Zaključak
Selendroid je vrlo moćan alat za testiranje automatizacije koji se može koristiti za testiranje izvornih, hibridnih, kao i web aplikacija na bilo kojem Android uređaju, kao i simulatoru.
Podržava Hotplugging, što znači da korisnik može istodobno testirati više uređaja, pa je paralelno izvršavanje testa moguće na više uređaja. Podržava razne vrste interakcija poput dugog pritiska, dodira itd.…
Jedina složenost s njim je postavka okoliša, koja je također prisutna u drugim okvirima. Jednom kada se pravilno postavi, skripte možemo pokrenuti bez ikakvih poteškoća.
U2. dioovog vodiča za Selendoid obradit ćemo - Kako koristiti okvir Selendroid za automatizaciju korisničkih interakcija putem mobilne aplikacije.
U sljedećem ćemo članku razgovarati o tome više Vodič za pCloudy Hands-on Review.
Preporučena literatura
- Dubinski vodiči pomračenja za početnike
- Vodič za automatizaciju SeeTesta: Vodič za alat za automatizaciju mobilnih testova
- Vodič za Java Collections Framework (JCF)
- Java Vodič za refleksiju s primjerima
- Vodič za Ranorex: Moćan alat za testiranje radne površine, weba i mobitela
- Vodič za testiranje aplikacija za Android i iOS za mobilne uređaje
- Korištenje Selendroid-a za automatizaciju interakcija korisnika putem mobilne aplikacije (2. dio)
- Napredna upotreba SeeTest automatizacije na projektu automatizacije u stvarnom vremenu