Akcja - automatyzacja! Część 1: Konfiguracja

Wiele “samouczków” w internecie porusza temat wdrożenia testerów w środowisko automatyzacji. Często tutoriale te nie są aktualizowane na bieżąco przez co użytkownik przy tworzeniu środowiska do testów automatycznych może natrafić na problem lub błąd, który może być dla niego niezrozumiały.

 

W rozpoczynającej się od tego materiału serii krótkich filmów “Akcja - automatyzacja” / “Action - automation!”  chcielibyśmy przeprowadzić Was przez ścieżkę, która pozwoli Wam stworzyć własny framework do testów automatycznych. Na początku skupimy się na przedstawieniu konfiguracji środowiska automatyzacji dla środowiska JAVA, Selenium WebDriver na przykładzie narzędzia IntelliJ i przeglądarki Chrome.

 

W następnych materiałach omówimy m.in.: takie zagadnienia jak:

  • klasy testowe: JUnit / TestNG
  • system kontroli wersji: GIT
  • budowa własnego frameworku
  • dobre praktyki przy tworzeniu testów automatycznych
  • i wiele innych.

 

Rozwijając temat konfiguracji w materiale filmowym, przedstawiliśmy również opis konfiguracji z wykorzystaniem popularnego narzędzia jakim jest Maven.

 

Budowa nowego środowiska do automatyzacji dla Selenium WebDriver i Intellij IDEA w Java.

 

 

Konfiguracja nowego środowiska do automatyzacji dla Selenium WebDriver i Intellij IDEA w Java z wykorzystaniem narzędzia Maven.

 

Poniższy artykuł jest formą wstępu do materiałów filmowych, zawiera on krótki opis konfiguracji środowiska automatyzacji. Jest to jeden ze sposobów konfiguracji środowiska, pozwalający szybko uruchomić i zobaczyć jak działają skrypty automatyczne.

 

Zaczynajmy!

Do przygotowania środowiska automatyzacji potrzebne są następujące składowe:

Wybieramy ostatnią stabilną wersję odpowiednią dla naszego systemu operacyjnego.

Wybieramy ostatnią stabilną wersję - 3.7.1 [10.11.2017] (https://goo.gl/3aWDMc)

Wybieramy ostatnią stabilną wersję odpowiednią dla naszego systemu operacyjnego - 2.33 [10.11.2017] (https://chromedriver.storage.googleapis.com/index.html?path=2.33/)

 

Instalujemy środowisko Java oraz środowisko deweloperskie IntelliJ. Po zainstalowaniu niezbędnych elementów, uruchamiamy środowisko IntelliJ, aby móc stworzyć nasz projekt.

Po uruchomieniu, na pojawiającym się oknie wybieramy Create New Project

 

1. Tworzenie nowego projektu.

 

Na wyświetlonym oknie wybieramy ścieżkę lokalizacji zainstalowanego wcześniej JDK i następnie przechodzimy dalej naciskając Next.

 

2. Tworzenie nowego projektu cz. 2.

 

Na kolejnym oknie nie dokonujemy żadnych zmian i wybieramy ponownie Next.

 

3. Tworzenie nowego projektu cz. 3.

 

Na kolejno wyświetlonym oknie wpisujemy nazwę projektu i naciskamy Finish, kończąc w ten sposób proces tworzenie projektu.

 

4. Tworzenie nowego projektu cz. 4.

 

W następnej kolejności musimy dodać do projektu bibliotekę Selenium. Wybieramy File > Project Structure. W zakładce Project Settings wybieramy Modules i zakładkę Dependencies. Za pomocą przycisku + (plus) dodajemy do projektu plik JAR (JARs or directories…) poprzez podanie jego ścieżki.

 

5. Dodawanie biblioteki do projektu.

 

Plik drivera przeglądarki Chrome wykorzystamy w kodzie naszego skryptu - nie musimy go specjalnie dodawać do projektu. Dla ułatwienia można jedynie skopiować go do katalogu naszego projektu, aby w łatwy sposób go znaleźć.

W utworzonym projekcie napiszemy przykładowy skrypt logowania do aplikacji - aby ułatwić wszystkim rozpoczęcie przygody z automatyzacją oprzemy nasze przykłady na darmowym narzędziu do zarządzania testami, TestArena. Pierwszy skrypt posłuży nam, aby sprawdzić czy środowisko jest poprawnie skonfigurowane i czy skrypty uruchamiane są poprawnie.

W tym celu w naszym projekcie musimy dodać klasę która będzie zawierać nasz skrypt. Klikamy prawym klawiszem myszy na katalog src i wybieramy New > Java Class.

Następnie wprowadzamy nazwę klasy np. Selenium.

 

6. Tworzenie klasy.

 

W utworzonej klasie tworzymy pierwszy skrypt za pomocą którego zalogujemy się do TestAreny.

 

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

 

public class Selenium

{

public static void main(String[] args)

{

    System.setProperty("webdriver.chrome.driver", "chromedriver.exe");

    WebDriver driver = new ChromeDriver();

    driver.get("http://demo.testarena.pl/zaloguj");

    driver.findElement(By.id("email")).sendKeys(" Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie obsługi JavaScript. ");

    driver.findElement(By.id("password")).sendKeys("sumXQQ72$L”);

    driver.findElement(By.id("login")).click();

System.out.println(“Poprawne logowanie”);

    driver.quit();

}

}

 

Linia

System.setProperty("webdriver.chrome.driver", "chromedriver.exe");

wskazuje, gdzie w naszym systemie znajduje się plik chromedriver.exe. W naszym wypadku znajduje się on w katalogu naszego projektu.  

W innym przypadku ta linia może wyglądać tak:

System.setProperty("webdriver.chrome.driver", "C:/.../chromedriver.exe");

 

Podobnie sytuacja wygląda jeśli chcielibyśmy użyć przeglądarki Firefox - plik Gecko Driver dla,przeglądarki Firefox dostępny jest na stronie https://github.com/mozilla/geckodriver/releases.

System.setProperty("webdriver.gecko.driver", "C:/.../geckodriver.exe");

 

Linia

WebDriver driver = new ChromeDriver();

inicjalizuje obiekt driver jako przeglądarkę Chrome.

Dla przeglądarki Firefox linia będzie wyglądała następująco:

WebDriver driver = new FirefoxDriver();

 

Linia

driver.get("http://demo.testarena.pl/zaloguj");

uruchamia przeglądarkę i wskazuje jej adres na który ma przejść.

 

Linia

driver.findElement(By.id("email")).sendKeys(" Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie obsługi JavaScript. ");

przeszukuje strukturę strony w celu znalezienia elementu z id = email i wpisania do niego tekstu (adres email użytkownika)

 

Linia

driver.findElement(By.id("password")).sendKeys(“sumXQQ72$L");

przeszukuje strukturę strony w celu znalezienia elementu z id = password i wpisania do niego tekstu (hasło użytkownika)

 

Linia

driver.findElement(By.id("login")).click();

przeszukuje strukturę strony w celu znalezienia elementu z id = login i kliknięcia go (przycisk “Zaloguj”)

 

Linia

System.out.println(“Poprawne logowanie”);

drukuje w konsoli komunikat po poprawnym zalogowaniu

 

Linia

driver.quit()

zamyka przeglądarkę i kończy pracę naszego skryptu.

 

Aby cały kod naszego skryptu działał poprawnie wszystkie biblioteki z elementami wykorzystanymi w kodzie muszą być zaimportowane. Za takie importy odpowiadają linijki:

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

 

Gdy nasz kod już nie świeci się na czerwono możemy uruchomić go poprzez Run > Run.

 

7. Uruchamianie.

 

Przeglądarka zostanie wtedy uruchomiona, przejdzie na podany adres, uzupełni pola podanymi danymi oraz kliknie przycisk “Zaloguj” co finalnie zaloguje użytkownika w systemie. Po wykonaniu tej sekwencji akcji przeglądarka zakończy pracę a jej okno zostanie zamknięte.

Nasze środowisko jest przygotowane. Możemy rozpoczynać pracę z automatyzacją.

 

By automatyzacja nie była taka straszna

Celem realizowanej przez nas serii filmów jest pokazanie że w krótkim czasie osoby nawet nie znające dobrze języka programowania mogą wdrożyć się w temat automatyzacji testów.

 

Zachęcamy do subskrybowania naszego kanału YouTube >>

i odwiedzania naszej strony tak, abyście mogli być na bieżąco z publikowanymi materiałami.

 
 
Autor: Tadeusz Kamiński
 
 
 

Najbliższe terminy szkoleń

 

15-16 stycznia - Wrocław

Automatyzacja testowania


22-24 stycznia - Poznań

ISTQB Poziom Podstawowy (Foundation Level)


25-26 stycznia - Wrocław

Dobry Przypadek Testowy - Laboratorium


26 stycznia - Katowice

Java dla testerów oprogramowania

 

Partnerzy

Narzędzia testerskie