Selenium 2. Inicjalizacja drivera i demo Selenium

Interesuje Cię ten kurs?

Zapisz się na listę, a wyślę Ci szczegóły i informację jak dołączyć 👇 

W tej lekcji pokażę Ci jak zainicjalizować drivera. Zobaczysz także krótkie demo Selenium.

Zmiana zachowania w DEMO

Poniższe demo, którego nie ma potrzeby przepisywać (jeszcze się nakodzisz przy kolejnych filmach i zadaniach, to jest tylko demo :)), nie zadziała przy obecnym zachowaniu strony Google. Teraz doszło okno informujące o ciasteczkach, które blokuje możliwość wykonania jakiejkolwiek akcji na stronie. Rozwiązanie, czyli zamknięcie tego okna, nie jest zadaniem prostym bo wymaga już umiejętności obsłużenia ramki. Ta lekcja pojawi się w module Wyższa Szkoła Jazdy.

Inicjalizacja drivera: linki i materiały

Żeby móc korzystać z Selenium w naszych testach i móc komunikować się z przeglądarką, potrzebny Ci będzie obiekt klasy implementującej interfejs WebDriver. Klasa implementująca będzie Ci potrzebna właśnie dlatego, że WebDriver jest interfejsem, co uniemożliwia inicjalizację obiektów wprost z WebDrivera.

Selenium dostarcza kilka klas implementujących ten interfejs przystosowanych do obsługi najpopularniejszych przeglądarek. W tym kursie będziemy korzystać z przeglądarki Chrome, a więc do inicjalizacji drivera użyjemy klasy ChromeDriver.

Oprócz obiektu klasy ChromeDriver potrzebujemy także pliku chromedriver.exe, który umożliwi komunikację z przeglądarką. Plik ten możesz możesz pobrać z tej strony.

Kod

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
public class FirstTest {
    @Test
    public void demoTest(){
        System.setProperty("webdriver.chrome.driver","src/main/resources/chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.manage().window().setSize(new Dimension(1295, 730));
        driver.navigate().to("https://google.pl");
        WebElement searchField = driver.findElement(By.cssSelector("[title='Szukaj']"));
        String searchEntry = "wszechświaty równoległe";
        String title = "Wieloświat – Wikipedia, wolna encyklopedia";
        searchField.sendKeys(searchEntry);
        searchField.submit();
        driver.findElement(By.xpath(".//*[text()='"+ title +"']")).click();
        WebDriverWait wait = new WebDriverWait(driver, 5);
        wait.until(ExpectedConditions.titleIs(title));
        String entryURL = "https://pl.wikipedia.org/wiki/Wielo%C5%9Bwiat";
        Assertions.assertEquals(entryURL, driver.getCurrentUrl(), "URL is not correct");
    }
}

Możliwość komentowania została wyłączona.