Upload
agile-lietuva
View
89
Download
7
Embed Size (px)
DESCRIPTION
Test automation is one of general principles of Agile and mobile app automation was relatively poorly covered topic. However, now there is an open source Appium tool that can cover mobile automation using the good old Selenium framework. I will explore the possibilities of mobile application automation using Appium and will cover a specific use case where it has been applied.
Citation preview
© UAB Baltic Amadeus© UAB Baltic Amadeus Harmoningi IT sprendimai
Mobilus testavimas? Automatizuokim!*
*Gyvenimas per trumpas rankiniam testavimui
© UAB Baltic Amadeus© UAB Baltic Amadeus 2
Ričardas Šliapikas
UAB “Baltic Amadeus” įkurta 1988 m., ~100 darbuotojų.
Pagrindinės veiklos kryptys: programavimo ir testavimo paslaugos, bankiniai, web, mobilūs ir kiti specializuoti IT sprendimai.
Įmonė veikia pagal Agile principus
http://www.ba.lt http://www.enjoyit.lt/
KAS? IŠ KUR?
© UAB Baltic Amadeus© UAB Baltic Amadeus 3
KODĖL AUTOMATIZUOTI?
Tikslu
Įdomu Motyvuoja
Lankstu
© UAB Baltic Amadeus© UAB Baltic Amadeus 4
APIE KĄ?
Apie projektą Mobilaus automatizavimo įrankiai: Appium Kaip neautomatizuoti testų? Kaip automatizuoti testus? „Tips and tricks“ bei rezultatai
© UAB Baltic Amadeus© UAB Baltic Amadeus 5
PROJEKTAS „MOBILI PINIGINĖ“
Iššūkiai Aktyvus vystymas Daug regresinio testavimo Žemas vartotojų
pasitenkinimas Negalima naudoti emuliatorių
Sprendimas? Regresinio testavimo
automatizavimas
© UAB Baltic Amadeus© UAB Baltic Amadeus 6
MOBILUS AUTOMATIZAVIMAS
UIAUTOMATOR INSTRUMENTS
UIAUTOMATION
© UAB Baltic Amadeus© UAB Baltic Amadeus 7
WEBDRIVER
WebDriver standartas aprašo: Sesijos sukūrimą HTML elementų paiešką Naršyklės langų valdymą Galimas klaidas Ir t.t.
WebDriver klientai egzistuoja: Java, C#, Python,
Ruby, PHP, Perl, JavaScript
Selenese
© UAB Baltic Amadeus© UAB Baltic Amadeus 8
WEBDRIVER
„WebDriver API, a platform and language-neutral interface and associated wire protocol that allows programs or scripts to introspect into, and control the behaviour of, a web browser.“
Plačiai naudojamas naršyklių automatizavimui
Turėtų tapti W3C standartu
*Šaltinis: https://dvcs.w3.org/hg/webdriver/raw-file/default/webdriver-spec.html
© UAB Baltic Amadeus© UAB Baltic Amadeus 9
APPIUM – KAS TAI?
UIAutomator InstrumentsWebDriver
© UAB Baltic Amadeus© UAB Baltic Amadeus 10
APPIUM ARCHITEKTŪRA
WebDriver script
WebDriver controller:
Instruments / UIAutomator
Command client:
Instruments / UIAutomator
HTTP:JSON Wire
© UAB Baltic Amadeus© UAB Baltic Amadeus 11
UŽ IR PRIEŠ
Appium privalumai Nereikia agentų Vienodi* testai Android ir
iOS Standartizuotas WebDriver
interfeisas Atviro kodo ir nemokama
Appium trūkumai Atviro kodo ir nemokama Nepalaiko WP Prastas Xpath palaikymas
© UAB Baltic Amadeus© UAB Baltic Amadeus 12
KAIP NEAUTOMATIZUOTI?
Testas = skriptas? Ne!
Problemos Daug kodo
dublikavimo
Reikalauja daug laiko palaikyti/atnaujinti
© UAB Baltic Amadeus© UAB Baltic Amadeus 13
OBJEKTINIS POŽIŪRIS Į TESTĄ
Testo logika
Testuojamo objekto
valdymas
© UAB Baltic Amadeus© UAB Baltic Amadeus 14
GOOGLE PAGE PATTERN
Page objektas Užtikrina, kad reikiamas
puslapis pilnai užkrautas
Aprašo galimą sąveiką su testuojamu objektu
© UAB Baltic Amadeus© UAB Baltic Amadeus 15
GOOGLE PAGE PATTERN
Test objektas Paruošia sąlygas testo
vykdymui
Aprašo testo logiką (žingsnius)
Išvalo duomenis po testo
© UAB Baltic Amadeus© UAB Baltic Amadeus 16
KAIP VEIKIA TESTAS?
PageMain
TestPage
DarbuotojoAtlyginimas
© UAB Baltic Amadeus© UAB Baltic Amadeus 17
LOGIKOS/INTERFEISO ATSKYRIMO PRIVALUMAI
Mažesni palaikymo kaštai
Paprasčiau rašyti testus
Komponentų pernaudojimas
© UAB Baltic Amadeus© UAB Baltic Amadeus 18
AUTOMATINIŲ TESTŲ ARCHITEKTŪRA
Test klasėsPage klasės Utils Assert Mobile Test Table etc.
© UAB Baltic Amadeus© UAB Baltic Amadeus 19
TIPS AND TRICKS
Teksto įvedimas Paspausti, Įvesti, Paslėpti
© UAB Baltic Amadeus© UAB Baltic Amadeus 20
TIPS AND TRICKS
Testų sąrašas Custom doclet
© UAB Baltic Amadeus© UAB Baltic Amadeus 21
TIPS AND TRICKS
Kreipimasis į WebService
Per komandinę eilutę įvykdant
skriptą
© UAB Baltic Amadeus© UAB Baltic Amadeus 22
TESTNG
Testų ataskaitos
Galima paleisti prieš tai nepavykusius testus
Testų priklausomybės
Testų rinkiniai xml failuose
http://testng.org/
© UAB Baltic Amadeus© UAB Baltic Amadeus 23
TESTNG ATASKAITA
© UAB Baltic Amadeus© UAB Baltic Amadeus 24
REZULTATAS
Kas atlikta? Automatizuoti testai Android Testų rinkiniai.xml failuose HTML ataskaita su ekrano vaizdais Automatiškai generuojamas testų sąrašas Testai gali nesudėtingai kreiptis į WS Testams paleisti nereikia infrastruktūros
© UAB Baltic Amadeus© UAB Baltic Amadeus 25
REZULTATAS
Kas iš to?
Greičiau
Lanksčiau
Labiau užtikrintai
© UAB Baltic Amadeus© UAB Baltic Amadeus 26
TOLIAU?
Kas laukia? Testų stabilizavimas Testų pritaikymas iOS Tobulinimas
© UAB Baltic Amadeus© UAB Baltic Amadeus 27
KĄ DAR REIKIA ŽINOTI?
Automatizavimas nebūtinai visada pasiteisina
Automatizavimas užtrunka
Automatinius testus dažnai reikia stabilizuoti, o po to palaikyti
© UAB Baltic Amadeus© UAB Baltic Amadeus 28
KLAUSIMAI?