introduction appium
Ovaj vodič objašnjava što je Appium, njegova arhitektura, tijek rada i kako koristiti ovaj alat s otvorenim kodom za mobilnu automatizaciju na Androidu i iOS-u:
Appium je alat za automatsku automatizaciju otvorenog koda koji pruža automatizaciju na platformama poput Androida, iOS-a itd.
Također podržava automatizaciju pomoću više programskih jezika kao što su Java, PHP, Perl, Python itd.Dakle, korisnici mogu koristiti bilo koji programski jezik koji im odgovara i pisati automatizirane skripte.
=> Ovdje pripazite na jednostavnu seriju treninga o apiju.
Što ćete naučiti:
Što je Appium?
Evo video vodiča:
Pregled aplikacija
Sve se aplikacije mogu automatizirati, uključujući nativne, hibridne i web aplikacije.Slijedi jednostavan pregled različitih vrsta aplikacija.
- Izvorne aplikacije: Ove aplikacijesu napisani pomoću iOS, Android ili Windows SDK-a.Njima se može pristupiti tek nakon instalacije u uređaj. Na primjer, Skype, koji se može koristiti tek nakon instalacije u uređaj. Ne možemo otvoriti aplikaciju putem preglednika.
- mreža Aplikacije: Mobilne web aplikacijemože se pristupiti putem mobilnog preglednika.Web aplikacijama se može pristupiti samo putem preglednika. Na primjer, Softwaretestinghelp.com može se pristupiti samo putem preglednika. Za web mjesto nemamo zasebnu aplikaciju.
- Hibrid Aplikacije: Oviaplikacijeimati omot oko 'webviewa' - izvorne kontrole koja omogućuje interakciju s web sadržajem.Oni se mogu instalirati u uređaj, kao i pristupiti im se putem URL-a preglednika. Na primjer, Amazon se može instalirati kao zasebna aplikacija na uređaju, a može mu se pristupiti i putem preglednika kao Amazon.
Još je važnije da je ovaj alat 'višeplatformacijski' - koji vam omogućuje pisanje testova na više platformi (iOS, Android, Windows), koristeći isti API. To omogućuje ponovnu upotrebu koda između iOS, Android i Windows uređaja.
Arhitektura epoha
Ovo je HTTP poslužitelj napisan u programskom jeziku Node.js koji obrađuje sesije WebDriver. Appium poslužitelj prima HTTP zahtjeve iz klijentskih knjižnica u JSON formatu. Zahtjevi se tada obrađuju na različite načine, ovisno o platformi na kojoj se pokreću.
Slijedi arhitekturu klijent-poslužitelj. U njega su uključene 3 komponente:
- klijent appium
- appium poslužitelj
- Završni uređaj
# 1) Marcusov klijent
Kôd skriptiran za automatizaciju nazivamo Appium Client.
Kôd je skriptiran na bilo kojem programskom jeziku kao što su PHP, Java, Phyton itd. Ova skripta za automatizaciju sadrži detalje o konfiguraciji mobilnog uređaja i aplikacije. Uz to se skriptira logika / kôd za pokretanje testnih slučajeva aplikacije.
# 2) poslužitelj epoha
Appium poslužitelj napisan je pomoću programskog jezika Node.js.Prima zahtjeve za povezivanje i naredbe od klijenta Appium u JSON formatu i izvršava tu naredbu na mobilnim uređajima. Poslužitelj je potreban za instaliranje u stroj i pokreće se prije pozivanja koda automatizacije.
Poslužitelj komunicira s raznim platformama kao što su iOS i Android. Stvara sesiju za interakciju s krajnjim uređajima mobilnih aplikacija. To je HTTP poslužitelj napisan u programskom jeziku Node.js koji čita HTTP zahtjeve iz klijentskih knjižnica i šalje ih na odgovarajuću platformu.
nedefinirana referenca na c ++
Da bi pokrenuli poslužitelj, korisnici trebaju preuzeti izvor ili ga instalirati izravno iz Npm-a. Također pruža GUI verziju poslužitelja. Možete ga preuzeti sa službenog Appiuma web mjesto .
U sljedećem ćemo poglavlju detaljnije razgovarati o verziji GUI-ja. Jedna od najvećih prednosti ovog alata je ta što je kôd koji upotrebljavate za interakciju s njim napisan na mnogim jezicima kao što su Java, C #, Ruby, Python itd. Jer je Appium u svojoj osnovi REST API.
# 3) Završni uređaj
Ovo je uglavnom mobilni uređaj u stvarnom vremenu ili emulator. Skripte za automatizaciju na krajnjem uređaju izvršava poslužitelj Appium naredbama klijenta.
WorkFlow of Appium Architecture
Appium klijent koji sadrži detalje o konfiguraciji i skriptu za automatizaciju za test slučajeve šalje naredbe poslužitelju u JSON formatu. Skripta za automatizaciju pretvara se u JSON format pomoću ugrađenih jar datoteka u klijentu.
Appium Server tada prepoznaje naredbu i uspostavlja vezu s odgovarajućim završnim uređajem. Jednom uspostavljena veza pokreće izvršavanje testnih slučajeva na krajnjem uređaju. Krajnji uređaj Appiumu odgovara na zahtjev u obliku HTTP-a.
Kako se i kada se test slučajevi izvršavaju u mobilnom uređaju / emulatoru, on popunjava zapisnik svih radnji izvršenih na uređaju / emulatoru.
Rad Appiuma na iOS-u
Ovaj alat koristi Appleov UIAutomation API za interakciju s UI elementima aplikacije na iOS uređaju. UIAutomation je JavaScript knjižnica koju pruža tvrtka Apple. Te knjižnice koristi za automatizaciju aplikacija u iOS-u.
Kada izvršimo testne skripte, naredbe u testnim skriptama preuzimaju se u obliku JSON-a putem HTTP zahtjeva prema Appium poslužitelju. Poslužitelj šalje naredbu tim instrumentima, a instrumenti traže datoteku bootstrap.js.
Zatim se te naredbe izvršavaju u datoteci bootstrap.js u okruženju iOS instrumenata. Nakon izvršenja naredbe, klijent šalje poruku (uspjeh / neuspjeh) na poslužitelj Appium s detaljima dnevnika izvršene naredbe.
Rad Appija na Androidu
Appium koristi okvir UIAutomator za interakciju s UI elementima aplikacije na Android uređaju. UIAutomator je okvir koji su razvili programeri za Android kako bi testirali njegovo korisničko sučelje.
Ovdje umjesto UIAutomation API kao što smo vidjeli u Appleu, umjesto datoteke bootstrap.js imamo UIAutomator / Selendroid i bootstrap.jar. Podržava sve verzije Androida koje su veće ili jednake 17; za ranije verzije Androida, Appium koristi okvir Selendroid.
Kada izvršimo testne skripte, Appium šalje naredbu u JSON formatu UIAutomatoru ili Selendroidu na temelju verzije Androida. Ovdje bootstrap.jar djeluje kao TCP poslužitelj, pomoću kojeg možemo poslati test naredbu za izvršavanje radnje na Android uređaju pomoću UIAutomator / Selendroid.
Zaključak
U ovom smo poglavlju stekli osnovno razumijevanje Appija, to je Arhitektura, tijek rada i rad Appija na iOS / Androidu.
U sljedećem ćemo poglavlju vidjeti kako postaviti Appium i drugi osnovni softver koji će se instalirati za mobilnu automatizaciju na stvarnim uređajima.
Preporučena literatura
- Stvorite Appium testove za Android aplikaciju
- Uvod u Appium Studio: Ključne prednosti i značajke
- Izvođenje paralelnih testova Appiuma pomoću Appium Studija za Eclipse
- Stvaranje testova epoha pomoću epochs Studio za Eclipse
- Appium Studio za Eclipse: Automatska automatizacija Appium / Selenium iz Eclipsea
- Vodič za testiranje aplikacija za Android i iOS za mobilne uređaje
- Povezivanje stvarnih iOS i Android uređaja iz oblaka u Appium Studio
- Napravite Appium Test za iOS aplikaciju