Selenium WebDriverManager dla projektów w Java - pierwsze kroki

WebDriver API jest protokołem definiującym niezależny od technologii interfejs do kontrolowania przeglądarek. Producenci popularnych przeglądarek często dostarczają własną implementację WebDriver API, nazywaną sterownikiem (ang. driver), która do komunikacji z przeglądarką używa API dostarczonego przez jej producenta. Przykładami takich sterowników są geckodriver dla Mozilla Firefox oraz chromedriver dla Google Chrome.

Manualne zarządzanie wersjami sterowników w projektach jest czasochłonne i podatne na błędy, dlatego też zalecam używanie narzędzi automatyzujących ten proces. Najpopularniejszym narzędziem wykorzystywanym w projektach opartych o technologię Java jest WebDriverManager - biblioteka umożliwiająca automatyczne zarządzanie binariami sterowników wymaganymi przez Selenium WebDriver.

Czytaj więcej ...

JUnit 5 i Selenium - Odpowiedzialność metod testowych

W artukule JUnit 5 i Selenium - Wprowadzenie do projektu automatycznych testów aplikacji internetowej rozpocząłem tworzenie projektu testów automatycznych dla aplikacji TodoMVC. Mimo że aplikacja jest bardzo prosta, stworzyłem sporo kodu, którego utrzymanie i modyfikacja to nie lada wyzwanie. W tym artykule spróbuję usprawnić projekt poprzez eliminację powtarzającego się kodu oraz prawidłowe określenie odpowiedzialności metod testowych.

Czytaj więcej ...

Pytest - zakres dla fixture i kroki teardown

W poprzednim artykule na temat frameworku Pytest opisałem koncepcję fixtures oraz omówiłem podstawy statycznej i dynamicznej parametryzacji testów. Tym razem chciałbym się zająć wykorzystaniem funkcjonalności definiowania zakresu (scope) dla fixtures oraz wykonania kroków kończących (teardown) po zakończeniu testów. Jest to też okazja do zmierzenia się z prostymi testami REST API, wykonywanymi w języku Python z wykorzystaniem biblioteki requests.

Czytaj więcej ...

Narzędzia - Python i PyCharm

Python to popularny język programowania o licznych zastosowaniach. Przydaje się między innymi w testowaniu i prototypowaniu. Jest językiem wysokiego poziomu, zorientowanym obiektowo, z silnym i dynamicznym typowaniem (nie wymaga deklarowania typów zmiennych), automatycznym zarządzaniem pamięcią (ma garbage collector), wspieranym na wielu platformach sprzętowych i systemowych. W tym artykule opiszę kroki potrzebne do skonfigurowania środowiska programistycznego, pobrania repozytorium z prostym testem napisanym we frameworku Pytest oraz uruchomienia go na dwa sposoby.

Czytaj więcej ...

Narzędzia - środowisko dla Java i Selenium na macOS

Tworzenie testów automatycznych jest możliwe na różnych platformach. Do tej pory przedstawialiśmy konfigurację środowiska i uruchomienie testów na komputerze z systemem Windows, ale w zależności od osobistych preferencji lub dostępności odpowiednich maszyn z takim samym powodzeniem można pracować na urządzeniach pracujących pod kontrolą systemu Linux lub macOS. W tym artykule przedstawię skróconą instrukcję przygotowania środowiska do automatyzacji testów aplikacji internetowych w technologii Java i Selenium WebDriver na ostatnim z wymienionych systemów.

Czytaj więcej ...

JUnit 5 i Selenium - Wprowadzenie do projektu automatycznych testów aplikacji internetowej

Po artykule opisującym podstawowe funkcjonalności frameworka JUnit 5 oraz serii trzech artykułów na temat konfiguracji środowiska na potrzeby testowania aplikacji internetowych, przyszedł wreszcie czas na zmierzenie się z automatyzacją testów prawdziwej aplikacji. Zaprezentuję praktyczne połączenie elementów dostarczanych przez technologię Java, framework JUnit 5, narzędzie automatyzacji procesu budowania aplikacji Gradle i bibliotekę Selenium WebDriver w rzeczywistym projekcie. Zacznę od podstaw, w kolejnych tekstach stopniowo wprowadzając bardziej zaawansowane koncepcje, tworząc tym samym zestaw profesjonalnych testów automatycznych.

Czytaj więcej ...

Narzędzia - Java, Gradle i IntelliJ

Java jest jednym z najpopularniejszych języków programowania, cechującym się obiektowością, silnym typowaniem, przenośnością oraz prostotą. Programy napisane w języku Java kompilowane są do tzw. bytecode’u, a następnie uruchamiane są w tak zwanej wirtualnej maszynie, w dowolnym systemie operacyjnym.

Zacznij przygodę z programowaniem w technologii Java od przygotowania środowiska programistycznego w systemie Windows.

Czytaj więcej ...