Monthly Archives: March 2015

Testy automatyczne Selenium cz1 – Selenium IDE

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.

  1. Zainstaluj przeglądarkę Firefox (albo uaktualnij do najnowszej wersji) – będę korzystał  i polecam wersję angielskojęzyczną
  2. 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 opcji

    Install Add-on From File...

    – zaakceptowałem i restart
    – w menu addons/Extensions powinny być widoczne zainstalowane rozszerzenia

  3. Zainstalowana wtyczka selenium objawia się ikonką  obok ikony menu FF
  4. Otwieram http://www.lolcats.com i klikam ikonkę wtyczki selenium co powoduje otwarcie nowego okna przeglądarki z programem selenium ide:
    2015-03-28_145952
  5. 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
  6. Mamy pierwszy test – powinien wyglądac tak:
    2015-03-28_151030Teraz 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:
    2015-03-28_151602Zmiejszenie prędkości powinno coś poprawić jednak wtyczka potrafi czasem się zawiesić i trzeba się z tym liczyć. Dobry wynik:
    2015-03-28_151701
  7. 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/.