SlideShare a Scribd company logo
1 of 28
Mobilus testavimas? Automatizuokim!* 
*Gyvenimas per trumpas rankiniam testavimui 
© UAB Baltic Amadeus Harmoningi IT sprendimai
 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/ 
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
2 
KAS? IŠ KUR?
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
KODĖL AUTOMATIZUOTI? 
 Tikslu 
3 
 Įdomu 
 Motyvuoja 
 Lankstu
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
APIE KĄ? 
 Apie projektą 
 Mobilaus automatizavimo įrankiai: Appium 
 Kaip neautomatizuoti testų? 
 Kaip automatizuoti testus? 
 „Tips and tricks“ bei rezultatai 
4
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
PROJEKTAS „MOBILI PINIGINĖ“ 
Iššūkiai 
 Aktyvus vystymas 
 Daug regresinio testavimo 
 Žemas vartotojų 
pasitenkinimas 
 Negalima naudoti emuliatorių 
Sprendimas? 
 Regresinio testavimo 
automatizavimas 
5
MOBILUS AUTOMATIZAVIMAS 
UIAUTOMATOR INSTRUMENTS 
UIAUTOMATION 
©© UUAABB BBaallttiicc AAmmaaddeeuuss 6
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
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 
7
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
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 
8
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
APPIUM – KAS TAI? 
9 
WebDriver UIAutomator Instruments
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
APPIUM ARCHITEKTŪRA 
WebDriver 
script 
WebDriver 
controller: 
Instruments / 
UIAutomator 
Command 
client: 
Instruments / 
UIAutomator 
HTTP: 
JSON Wire 
10
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
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 
11
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
KAIP NEAUTOMATIZUOTI? 
Testas = skriptas? 
Ne! 
Problemos 
 Daug kodo 
dublikavimo 
 Reikalauja daug 
laiko 
palaikyti/atnaujinti 
12
Testuojamo 
objekto 
valdymas 
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
OBJEKTINIS POŽIŪRIS Į TESTĄ 
Testo logika 
13
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
GOOGLE PAGE PATTERN 
Page objektas 
 Užtikrina, kad reikiamas 
puslapis pilnai 
užkrautas 
 Aprašo galimą sąveiką 
su testuojamu objektu 
14
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
GOOGLE PAGE PATTERN 
Test objektas 
 Paruošia sąlygas testo 
vykdymui 
 Aprašo testo logiką 
(žingsnius) 
 Išvalo duomenis po 
testo 
15
KAIP VEIKIA TESTAS? 
Page 
Main 
Test 
Page 
Darbuotojo 
Atlyginimas 
©© UUAABB BBaallttiicc AAmmaaddeeuuss 16
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
LOGIKOS/INTERFEISO 
ATSKYRIMO PRIVALUMAI 
 Mažesni palaikymo kaštai 
 Paprasčiau rašyti testus 
 Komponentų pernaudojimas 
17
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
AUTOMATINIŲ TESTŲ 
ARCHITEKTŪRA 
 Test klasės 
18 
Page klasės Utils 
Assert 
Mobile 
Test 
Table 
etc.
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
TIPS AND TRICKS 
 Teksto įvedimas 
 Paspausti, Įvesti, Paslėpti 
19
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
TIPS AND TRICKS 
 Testų sąrašas 
 Custom doclet 
20
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
TIPS AND TRICKS 
 Kreipimasis į WebService 
21 
Per komandinę eilutę įvykdant 
skriptą
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
TESTNG 
 Testų ataskaitos 
 Galima paleisti prieš 
tai nepavykusius 
testus 
 Testų priklausomybės 
 Testų rinkiniai xml 
failuose 
 http://testng.org/ 
22
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
TESTNG ATASKAITA 
23
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
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 
24
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
REZULTATAS 
25 
Kas iš to? 
 Greičiau 
 Lanksčiau 
 Labiau užtikrintai
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
TOLIAU? 
Kas laukia? 
 Testų stabilizavimas 
 Testų pritaikymas iOS 
 Tobulinimas 
26
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
KĄ DAR REIKIA ŽINOTI? 
 Automatizavimas nebūtinai visada 
pasiteisina 
 Automatizavimas užtrunka 
 Automatinius testus dažnai reikia 
stabilizuoti, o po to palaikyti 
27
©© UUAABB BBaallttiicc AAmmaaddeeuuss 
KLAUSIMAI? 
28

More Related Content

More from Agile Lietuva

Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...
Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...
Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...Agile Lietuva
 
Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...
Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...
Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...Agile Lietuva
 
M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...
M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...
M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...Agile Lietuva
 
B. den Haak. How to make OKRs Lean Again
B. den Haak. How to make OKRs Lean AgainB. den Haak. How to make OKRs Lean Again
B. den Haak. How to make OKRs Lean AgainAgile Lietuva
 
D. Aitcheson. How to make forecasts that are actually accurate.
D. Aitcheson. How to make forecasts that are actually accurate.D. Aitcheson. How to make forecasts that are actually accurate.
D. Aitcheson. How to make forecasts that are actually accurate.Agile Lietuva
 
Aleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečius
Aleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečiusAleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečius
Aleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečiusAgile Lietuva
 
Maija Aniskovič. Agile įtaka komandos motyvacijai.
Maija Aniskovič. Agile  įtaka komandos motyvacijai.Maija Aniskovič. Agile  įtaka komandos motyvacijai.
Maija Aniskovič. Agile įtaka komandos motyvacijai.Agile Lietuva
 
dr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymas
dr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymasdr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymas
dr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymasAgile Lietuva
 
M. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visi
M. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visiM. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visi
M. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visiAgile Lietuva
 
R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...
R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...
R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...Agile Lietuva
 
M. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijas
M. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijasM. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijas
M. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijasAgile Lietuva
 
A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...
A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...
A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...Agile Lietuva
 
V. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie Scrum
V. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie ScrumV. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie Scrum
V. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie ScrumAgile Lietuva
 
Leonard Vorobej. Agile projektų valdymas pradedantiesiems
Leonard Vorobej. Agile projektų valdymas pradedantiesiemsLeonard Vorobej. Agile projektų valdymas pradedantiesiems
Leonard Vorobej. Agile projektų valdymas pradedantiesiemsAgile Lietuva
 
Giedrė Žemulaitytė. Agile personalo skyriaus valdyme
Giedrė Žemulaitytė. Agile personalo skyriaus valdyme Giedrė Žemulaitytė. Agile personalo skyriaus valdyme
Giedrė Žemulaitytė. Agile personalo skyriaus valdyme Agile Lietuva
 
Gabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandose
Gabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandoseGabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandose
Gabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandoseAgile Lietuva
 
Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...
Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...
Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...Agile Lietuva
 
Denis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastu
Denis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastuDenis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastu
Denis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastuAgile Lietuva
 
Irmantas Znatinas. Kodėl reikalingas Agile, kai "pas mus ir taip viskas puiki...
Irmantas Znatinas. Kodėl reikalingas Agile, kai "pas mus ir taip viskas puiki...Irmantas Znatinas. Kodėl reikalingas Agile, kai "pas mus ir taip viskas puiki...
Irmantas Znatinas. Kodėl reikalingas Agile, kai "pas mus ir taip viskas puiki...Agile Lietuva
 
A. Kovaliov ir A. Kublickij. Diegimo etapas prasideda nuo pirmos iteracijos ....
A. Kovaliov ir A. Kublickij. Diegimo etapas prasideda nuo pirmos iteracijos ....A. Kovaliov ir A. Kublickij. Diegimo etapas prasideda nuo pirmos iteracijos ....
A. Kovaliov ir A. Kublickij. Diegimo etapas prasideda nuo pirmos iteracijos ....Agile Lietuva
 

More from Agile Lietuva (20)

Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...
Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...
Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...
 
Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...
Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...
Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...
 
M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...
M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...
M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...
 
B. den Haak. How to make OKRs Lean Again
B. den Haak. How to make OKRs Lean AgainB. den Haak. How to make OKRs Lean Again
B. den Haak. How to make OKRs Lean Again
 
D. Aitcheson. How to make forecasts that are actually accurate.
D. Aitcheson. How to make forecasts that are actually accurate.D. Aitcheson. How to make forecasts that are actually accurate.
D. Aitcheson. How to make forecasts that are actually accurate.
 
Aleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečius
Aleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečiusAleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečius
Aleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečius
 
Maija Aniskovič. Agile įtaka komandos motyvacijai.
Maija Aniskovič. Agile  įtaka komandos motyvacijai.Maija Aniskovič. Agile  įtaka komandos motyvacijai.
Maija Aniskovič. Agile įtaka komandos motyvacijai.
 
dr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymas
dr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymasdr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymas
dr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymas
 
M. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visi
M. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visiM. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visi
M. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visi
 
R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...
R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...
R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...
 
M. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijas
M. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijasM. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijas
M. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijas
 
A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...
A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...
A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...
 
V. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie Scrum
V. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie ScrumV. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie Scrum
V. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie Scrum
 
Leonard Vorobej. Agile projektų valdymas pradedantiesiems
Leonard Vorobej. Agile projektų valdymas pradedantiesiemsLeonard Vorobej. Agile projektų valdymas pradedantiesiems
Leonard Vorobej. Agile projektų valdymas pradedantiesiems
 
Giedrė Žemulaitytė. Agile personalo skyriaus valdyme
Giedrė Žemulaitytė. Agile personalo skyriaus valdyme Giedrė Žemulaitytė. Agile personalo skyriaus valdyme
Giedrė Žemulaitytė. Agile personalo skyriaus valdyme
 
Gabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandose
Gabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandoseGabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandose
Gabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandose
 
Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...
Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...
Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...
 
Denis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastu
Denis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastuDenis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastu
Denis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastu
 
Irmantas Znatinas. Kodėl reikalingas Agile, kai "pas mus ir taip viskas puiki...
Irmantas Znatinas. Kodėl reikalingas Agile, kai "pas mus ir taip viskas puiki...Irmantas Znatinas. Kodėl reikalingas Agile, kai "pas mus ir taip viskas puiki...
Irmantas Znatinas. Kodėl reikalingas Agile, kai "pas mus ir taip viskas puiki...
 
A. Kovaliov ir A. Kublickij. Diegimo etapas prasideda nuo pirmos iteracijos ....
A. Kovaliov ir A. Kublickij. Diegimo etapas prasideda nuo pirmos iteracijos ....A. Kovaliov ir A. Kublickij. Diegimo etapas prasideda nuo pirmos iteracijos ....
A. Kovaliov ir A. Kublickij. Diegimo etapas prasideda nuo pirmos iteracijos ....
 

Ričardas Šliapikas Mobile testing

  • 1. Mobilus testavimas? Automatizuokim!* *Gyvenimas per trumpas rankiniam testavimui © UAB Baltic Amadeus Harmoningi IT sprendimai
  • 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/ ©© UUAABB BBaallttiicc AAmmaaddeeuuss 2 KAS? IŠ KUR?
  • 3. ©© UUAABB BBaallttiicc AAmmaaddeeuuss KODĖL AUTOMATIZUOTI?  Tikslu 3  Įdomu  Motyvuoja  Lankstu
  • 4. ©© UUAABB BBaallttiicc AAmmaaddeeuuss APIE KĄ?  Apie projektą  Mobilaus automatizavimo įrankiai: Appium  Kaip neautomatizuoti testų?  Kaip automatizuoti testus?  „Tips and tricks“ bei rezultatai 4
  • 5. ©© UUAABB BBaallttiicc AAmmaaddeeuuss PROJEKTAS „MOBILI PINIGINĖ“ Iššūkiai  Aktyvus vystymas  Daug regresinio testavimo  Žemas vartotojų pasitenkinimas  Negalima naudoti emuliatorių Sprendimas?  Regresinio testavimo automatizavimas 5
  • 6. MOBILUS AUTOMATIZAVIMAS UIAUTOMATOR INSTRUMENTS UIAUTOMATION ©© UUAABB BBaallttiicc AAmmaaddeeuuss 6
  • 7. ©© UUAABB BBaallttiicc AAmmaaddeeuuss 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 7
  • 8. ©© UUAABB BBaallttiicc AAmmaaddeeuuss 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 8
  • 9. ©© UUAABB BBaallttiicc AAmmaaddeeuuss APPIUM – KAS TAI? 9 WebDriver UIAutomator Instruments
  • 10. ©© UUAABB BBaallttiicc AAmmaaddeeuuss APPIUM ARCHITEKTŪRA WebDriver script WebDriver controller: Instruments / UIAutomator Command client: Instruments / UIAutomator HTTP: JSON Wire 10
  • 11. ©© UUAABB BBaallttiicc AAmmaaddeeuuss 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 11
  • 12. ©© UUAABB BBaallttiicc AAmmaaddeeuuss KAIP NEAUTOMATIZUOTI? Testas = skriptas? Ne! Problemos  Daug kodo dublikavimo  Reikalauja daug laiko palaikyti/atnaujinti 12
  • 13. Testuojamo objekto valdymas ©© UUAABB BBaallttiicc AAmmaaddeeuuss OBJEKTINIS POŽIŪRIS Į TESTĄ Testo logika 13
  • 14. ©© UUAABB BBaallttiicc AAmmaaddeeuuss GOOGLE PAGE PATTERN Page objektas  Užtikrina, kad reikiamas puslapis pilnai užkrautas  Aprašo galimą sąveiką su testuojamu objektu 14
  • 15. ©© UUAABB BBaallttiicc AAmmaaddeeuuss GOOGLE PAGE PATTERN Test objektas  Paruošia sąlygas testo vykdymui  Aprašo testo logiką (žingsnius)  Išvalo duomenis po testo 15
  • 16. KAIP VEIKIA TESTAS? Page Main Test Page Darbuotojo Atlyginimas ©© UUAABB BBaallttiicc AAmmaaddeeuuss 16
  • 17. ©© UUAABB BBaallttiicc AAmmaaddeeuuss LOGIKOS/INTERFEISO ATSKYRIMO PRIVALUMAI  Mažesni palaikymo kaštai  Paprasčiau rašyti testus  Komponentų pernaudojimas 17
  • 18. ©© UUAABB BBaallttiicc AAmmaaddeeuuss AUTOMATINIŲ TESTŲ ARCHITEKTŪRA  Test klasės 18 Page klasės Utils Assert Mobile Test Table etc.
  • 19. ©© UUAABB BBaallttiicc AAmmaaddeeuuss TIPS AND TRICKS  Teksto įvedimas  Paspausti, Įvesti, Paslėpti 19
  • 20. ©© UUAABB BBaallttiicc AAmmaaddeeuuss TIPS AND TRICKS  Testų sąrašas  Custom doclet 20
  • 21. ©© UUAABB BBaallttiicc AAmmaaddeeuuss TIPS AND TRICKS  Kreipimasis į WebService 21 Per komandinę eilutę įvykdant skriptą
  • 22. ©© UUAABB BBaallttiicc AAmmaaddeeuuss TESTNG  Testų ataskaitos  Galima paleisti prieš tai nepavykusius testus  Testų priklausomybės  Testų rinkiniai xml failuose  http://testng.org/ 22
  • 23. ©© UUAABB BBaallttiicc AAmmaaddeeuuss TESTNG ATASKAITA 23
  • 24. ©© UUAABB BBaallttiicc AAmmaaddeeuuss 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 24
  • 25. ©© UUAABB BBaallttiicc AAmmaaddeeuuss REZULTATAS 25 Kas iš to?  Greičiau  Lanksčiau  Labiau užtikrintai
  • 26. ©© UUAABB BBaallttiicc AAmmaaddeeuuss TOLIAU? Kas laukia?  Testų stabilizavimas  Testų pritaikymas iOS  Tobulinimas 26
  • 27. ©© UUAABB BBaallttiicc AAmmaaddeeuuss KĄ DAR REIKIA ŽINOTI?  Automatizavimas nebūtinai visada pasiteisina  Automatizavimas užtrunka  Automatinius testus dažnai reikia stabilizuoti, o po to palaikyti 27
  • 28. ©© UUAABB BBaallttiicc AAmmaaddeeuuss KLAUSIMAI? 28

Editor's Notes

  1. Live demo nebus