Scott Tiger Tech Blog

Blog technologiczny firmy Scott Tiger S.A.

Archiwum dla Lipiec 11th, 2012

Selenium

Autor: Piotr Karpiuk o 11. lipca 2012

Testowanie aplikacji webowych ma swoją specyfikę. Mam na myśli różnorodność systemów operacyjnych, typów przeglądarek i ich wersji, koncentrację na interfejsie użytkownika, a w przypadku samego środowiska JavaScript takie zagadnienia jak powszechne stosowanie asynchronicznego API czy funkcji anonimowych (co utrudnia pisanie testów jednostkowych, np. za pomocą środowiska QUnit). Znajomość obsługi deweloperskiego narzędzia do testowania integracyjnego dowolnej aplikacji webowej, w tym nagrywania i odtwarzania makr, pozwoliłaby na znaczącą poprawę jakości kodu, ale także przyspieszenie deweloperki – bo często zachodzi potrzeba nużącego „przeklikania się” do formatki którą właśnie oprogramowujemy, a perspektywa automatyzacji takiego klikania jest bardzo kusząca. Z mojego rozeznania wynika że takie narzędzie powstało, i jest nim Selenium.

To narzędzie testuje interfejs użytkownika przez symulowanie działań, które mogą być podejmowane przez użytkownika.

Pakiet Selenium jest złożony z dwóch części, które można używać niezależnie:

  • środowisko IDE w postaci wtyczki do Firefoksa,
  • serwer Javy seleniumrc, który potrafi otworzyć dowolną przeglądarkę i wykonać w niej dowolny test Selenium; serwer ten udostępnia też API.

Pojedynczy test Selenium jest zapisywany w pliku HTML w postaci tabeli HTML. Każdy krok testu odpowiada wierszowi tabeli. Wiersz składa się z 3 kolumn:

  • komendy do uruchomienia; można je podzielić na akcje (np. click, keydown itp.) i asercje (mogą zakończyć skrypt z błędem, ale nie modyfikują strony; mogą w szczególności poczekać na spełnienie warunku); podstawowe polecenia nie uwzględniają możliwości zastosowania instrukcji warunkowych ani pętli (ale patrz wtyczka goto_sel_ide)
  • elementu dla którego zostanie ona wykonana (można go określić za pomocą id, nazwy elementu formularza, wyrażenia XPath, selektora CSS, lub tekstu odsyłacza),
  • opcjonalnego dodatkowego parametru, np. tekstu do wpisania w elemencie danych wejściowych podczas testowania formularza.

Uwaga: za pomocą Selenium nie da się zasymulować przeciągania pliku z pulpitu do przeglądarki.
Czytaj więcej »

Napisany w WWW | Brak komentarzy »