Jenkins – narzędzie do Ciągłej Integracji, opis oraz instalacja

Jenkins to aktualnie najbardziej popularne narzędzie do ciągłej integracji. „Ciągła integracja – praktyka stosowana w trakcie rozwoju oprogramowania, polegająca na częstym, regularnym włączaniu (integracji) bieżących zmian w kodzie do głównego repozytorium i każdorazowej weryfikacji zmian, poprzez zbudowanie projektu.” Jenkins jest narzędziem opartym na licencji open source a korzystanie z niego jest darmowe (pod warunkiem, że nie korzystamy z usług supportu, gdyż tego typu usługi są odpowiedni płatne). Jenkins jest używany do budowania i testowania projektów oprogramowania w sposób… Czytaj więcej »Jenkins – narzędzie do Ciągłej Integracji, opis oraz instalacja

Selenium 4 ujrzał światło dzienne!

Selenium 4 już jest! Spokojnie spokojnie, póki co jest to wersja Alpha. Pewnie zastanawiacie się zatem, czy należy już migrować wasze projekty Selenium z dotychczasowej (jeszcze oficjalnie aktualnej) wersji 3.0 do nowej wersji 4.0??  Stanowczo odradzam. Jeszcze nie należy tego robić. Jak wyżej zaznaczyłem, jest to wersja Alpha co oznacza, że jest to wersja wciąż mocno robocza i testowa. Zatem istnieje duże prawdopodobieństwo, że nie będzie to wersja na tyle… Czytaj więcej »Selenium 4 ujrzał światło dzienne!

Automatyzacja testów – 5 największych zalety

Automatyzacja testów to obecnie bardzo gorący temat w środowisku IT. Dzieje się tak dlatego, że testy automatyczne mają wielu zwolenników, ale i sporo osób, których doświadczenia z automatami lekko mówiąc – nie są zbyt pozytywne. Nie będę starał się godzić tych dwóch stron, gdyż według mnie to ‘mission impossible’, zamiast tego przedstawię największe plusy automatyzacji testów. W pełni świadomie postawię tezę, że dobrze zaplanowany i zorganizowany proces automatyzacji testów, przyniesie… Czytaj więcej »Automatyzacja testów – 5 największych zalety

Skrypt: Test wersji językowej strony

  W dzisiejszym materiale pokażę skrypt testowy, która weryfikuje poprawność oraz funkcjonowanie listy zmieniającej wersje językowe strony. Oczywiście, skrypt tak jak poprzednie skrypty, będzie napisany w oparciu o podejście Page Object Model. Testy będziemy wykonywać na próbnej wersji sklepu internetowego pod adresem: http://magento-demo.lexiconn.com/   Listing 1.0   Listing 1.0 przedstawią główną stronę sklepu magneto-demo.   Poniżej umieszczam scenariusz testowy, który realizuje mój skrypt.     Jak widzimy wyżej, skrypt ogólnie będzie sprawdzał działanie listy, za pomocą której mamy możliwość zmiany wersji językowej strony. Po wybraniu konkretnej… Czytaj więcej »Skrypt: Test wersji językowej strony

Skrypt testowy: Logowanie do konta (Page Object Model)

  Jakiś czas temu w jednym z wpisów, pokazałem jak stworzyć test automatyczny, który sprawdza funkcjonalność logowania do konta. Skrypt był napisany bez zachowania jakiegokolwiek modelu obiektowego – został napisany w jednej klasie, gdyż zależało mi na skupieni waszej uwagi na samych instrukcjach/operacjach Selenium, niż na całej architekturze kodu i projektu. Dzisiaj stworzymy skrypt z dokładnie taką samą funkcjonalnością – czyli test sprawdzający logowanie do danego konta, ale przedstawię go w ujęci Page Object Model. Scenariusz testu: Wejdź na główna stronę:  http://automationpractice.com Zweryfikuj tytuł strony (prawidłowy tytuł strony to:… Czytaj więcej »Skrypt testowy: Logowanie do konta (Page Object Model)

Skrypt testowy: Dodanie produktu do koszyka (Page Object Pattern)

  W tym materiale przedstawię test automatyczny, którego celem będzie przetestowanie dodawania konkretnego produktu do koszyka zakupowego a wszystko odbędzie się z wykorzystaniem wzorca Page Object Pattern. Page Object Pattern to podstawowy wzorzec projektowy wykorzystywany do tworzenia testów automatycznych. Krótko mówiąc, ten sposób pisania testów polega na tym, że każdą ze stron internetowych przedstawiamy jako osobą klasę tzw. Page Object. W każdej z klas tworzyły metody, deklarujemy WebElementy które zawiera dana strona www, co pozwala nam utrzymać dużo większy porządek i ład w naszym kodzie a same testy… Czytaj więcej »Skrypt testowy: Dodanie produktu do koszyka (Page Object Pattern)

Przykładowy skrypt: Dodanie produktu do koszyka

  W dzisiejszym materiale pokażę jak może wyglądać przykładowy skrypt realizujący jakąś funkcjonalność na stronie – naszym przypadku będzie do dodanie produktu do koszyka. Skrypt będzie napisany bez użycia Page Object Pattern – czyli będzie napisany w jednej klasie bez rozbicia na różne sekcje. Jest to zabieg celowy, gdyż w kolejnym materiale ten sam skrypt przedstawię właśnie w oparciu o Page Object Pattern oraz z użyciem frameworka TestNG. Zobaczycie w ten sposób, jak duże korzyści osiągniemy stosując dobre praktyki programowania oraz gotowe rozwiązania jakie dostarcza nam framework TestNG.   Pełny… Czytaj więcej »Przykładowy skrypt: Dodanie produktu do koszyka

Automatyzacja list rozwijanych

W niniejszym materiale przedstawię automatyzację listy rozwijanej. Selenium WebDriver dostarcza nam klasę Select, dzięki której praca z listami rozwijanymi staję się prosta i intuicyjna. Klasa Select zapewnia nam metody oraz właściwości stricte do interakcji z listami. Listing 1.0   Listing 1.0 pokazuje przykład listy rozwijanej – ważne jest to, że lista jest listą jednokrotnego wyboru ( nie jest to mulit lista z możliwością zaznaczenia więcej niż jednej wartości).   A tak wygląda struktura HTML elementu  Select, czyli przedstawionej wyżej listy:     Na podstawie poniższego kodu przedstawię przykłady na interakcje  z listami: import org.openqa.selenium.WebElement;… Czytaj więcej »Automatyzacja list rozwijanych

Selenium IDE – nagrywarka testów automatycznych

Przedstawię dzisiaj oprogramowanie Selenium IDE, które pozwoli zupełnym laikom oraz osobom wchodzącym dopiero w tematykę testów automatycznych, spojrzeć nieco szerzej na temat samych testów i skryptów testowych. Selenium IDE to niejako nagrywarka zachowań użytkownika na stronie www. Niemniej jednak, posiada też ciekawe opcje takie jak: eksport nagranych testówdo rożnych języków programowania, czy możliwość ręcznego lokalizowania WebElementów.   Na początku przedstawię wady oraz zalety omawianego narzędzia.       Selenium IDE to w pełni darmowe oprogramowanie oparte na licencji Open Source. Wyróżnia się ono łatwością obsługi a co za tym idzie jest… Czytaj więcej »Selenium IDE – nagrywarka testów automatycznych

Pola tekstowe, przyciski oraz pobieranie informacji o stronie

Pola tekstowe (input) oraz przyciski (button) to jedne z najczęściej występujących elementów na stronach internetowych. Poniżej przedstawię metody jakie udostępnia nam Selenium WebDriver do efektywnej pracy z tytułowymi elementami. Metody do pracy z polami tekstowymi oraz przyciskami: sendKeys(), clear(), click() Metody umożliwiające pobieranie informacji o stronie: getTitle(), getCurrentUrl(), getPageSource(), getText() Listing 1.0   Na Listingu 1.0 mamy zaznaczone na czerwono pole do wpisywanie tekstu a na zielono  przycisk ‚lupki’ uruchamiający wyszukiwanie. Wszystkie przykłady będą dotyczyły strony internetowej: http://www.oecdbookshop.org/ i będą opierały się na poniższym kodzie:   import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import… Czytaj więcej »Pola tekstowe, przyciski oraz pobieranie informacji o stronie