AKTUALIZACJA
Najnowszą wersję tego wpisu w formie profesjonalnego (i na obecną chwilę darmowego) kursu znajdziesz na moim autorskim portalu https://jaktestowac.pl/course/pt1-mk1-podstawy-testow-automatycznych-w-selenium-i-python/. Z samego Selenium IDE zrezygnowałem gdyż jest zbyt trudne do używania i w podobnym czasie zrobisz takie testy w profesjonalnym zestawie narzędzi (za darmo 🙂 )
Pozdrawiam Przemek
——————————————————————————————————————
Postanowiłem zrobić mały kursik, w którym od podstaw przedstawię proces tworzenia testów automatycznych. Skupię się w nim na testach GUI (warstwy prezentacji) aplikacji webowych czyli takich które mają za zadanie wiernie odwzorować zachowanie użytkownika na danej stronie.
Część 1 – coś prostego i niezwykle szybkiego Selenium IDE
Do zastosowania w raczej prostych aplikacjach z niewielką ilościa podstron, w końcowej fazie rozwoju aplikacji – gdy zmiany na GUI nie są zbyt poważne a potrzeba zapewnienia o poprawnie działających komponentach.
- Zainstaluj przeglądarkę Firefox (albo uaktualnij do najnowszej wersji) – będę korzystał i polecam wersję angielskojęzyczną
- Zainstaluj plugin Selenium:
ja zrobiłem to manualnie:
– pobrałem z oficjalnej strony Selenium http://release.seleniumhq.org/selenium-ide/2.9.0/selenium-ide-2.9.0.xpi
– w FF w sekcji Menu/Add-ons (lub przez linka about:addons) klknąłem ikonkę trybika
– skorzystałem z opcjiInstall Add-on From File...
– zaakceptowałem i restart
– w menu addons/Extensions powinny być widoczne zainstalowane rozszerzenia - Zainstalowana wtyczka selenium objawia się ikonką obok ikony menu FF
- Otwieram http://www.lolcats.com i klikam ikonkę wtyczki selenium co powoduje otwarcie nowego okna przeglądarki z programem selenium ide:
- Nagrywam test (otwarcie wtyczki ustawia ją w stan automatycznego nagrywania):
Przechodzę do strony testowej i odświeżam ją (F5), następnie do Galllery i klikam na baner LOLCATS.COM
Wracam do wtyczki i zakańczam nagrywanie czerwonym przyciskiem record - Mamy pierwszy test – powinien wyglądac tak:
Teraz odpalam test kozystając z zielonej ikonki ze strzałką i trzema prostokątami.
Testy są ustawione na maksymalną szybkość i ze względu na jakiś tajemniczy bug potrafią się wysypać na ostatnim kroku:
Zmiejszenie prędkości powinno coś poprawić jednak wtyczka potrafi czasem się zawiesić i trzeba się z tym liczyć. Dobry wynik:
- Taki test można zachować i odtwarzać ponownie.
Można się pokusić o małą edycję:
Kopiuję i wklejam krok z link=Gallery
Klikam na zduplikowany krok
Zmieniam w oknie Target z Gallery na Submit
Uruchamiam test i widzę dodaną podstronę.
Można również dograć kolejne kroki
W Selenium IDE oferuje o wiele więcej:
– grupowanie i zachowywanie przypadków testowych
– task scheduler pozwoli na zaprogramowanie cykli wykonywania testów
– testy mozna wyeksportować do jednego z wielu wspieranych języków programowania
– testy można edytowac poprzez sekcję Source, zmieniać sposób w jaki elementy są odnajdywane na stronie
– jest wiele pluginów które rozszerzają funkcje IDE można je znaleźć tu:
http://www.seleniumhq.org/download/#side_plugins
Wyeksportowanie skryptu do pythona (webdriver) dało prawie działające testy:
Trzeba było zaimportować bibliotekę selenium oraz zmienić usunąć końcowy slash z adresu – generalnie po tym zabiegu zaczeły działać.
Plugin Selenium IDE może wystarczyć do prostych testów jednak nie są one zbyt elastyczne , jak i stabilność wtyczki pozostawia wiele do życzenia. Aby uniknąć tych kłopotów warto skorzystać z bardziej zaawansowanej metody testów z użyciem Web Drivera – http://przemek.yum.pl/testy-automatyczne-selenium-cz2-pierwsze-kroki-w-pythonie/.