Zapisy otwarte! Dołącz do kursu Selenium w Javie lub Selenium w C#. Tylko do 23.09.2021 do godz. 21:00. Zapisz się tutaj.

Selenium 55. Zadanie: gesty w Selenium

Przećwiczmy to, co przerobiliśmy wspólnie na ostatnich filmach. Czas na zadanie: gesty w Selenium. Przed Tobą zadanie, w którym skorzystasz z poznanych metod z klasy Actions.

Na początku filmu tłumaczę polecenie, a następnie rozwiązanie. Będzie moment żeby zatrzymać film na czas wykonania zadania – dam znać w filmie kiedy.

Polecenie do zadania

Ukryta treść

Nie masz dostępu do tego kursu. Wykup dostęp albo zaloguj się, by móc zobaczyć pełną lekcję.

Wsparcie merytoryczne

Nie masz dostępu do wsparcia merytorycznego dla tego kursu. Wykup dostęp albo zaloguj się, by móc zadawać pytania.

  1. Hej, gdy próbuję kliknąć prawym przyciskiem myszy w przycisk menu przez przesunięcie myszą, otrzymuję następujący komunikat: org.openqa.selenium.interactions.MoveTargetOutOfBoundsException: move target out of bounds i test nie przechodzi. Co robię źle?

    import org.junit.jupiter.api.AfterEach;
    import org.junit.jupiter.api.Assertions;
    import org.junit.jupiter.api.BeforeEach;
    import org.junit.jupiter.api.Test;
    import org.openqa.selenium.*;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.interactions.Actions;
    
    import java.util.List;
    import java.util.concurrent.TimeUnit;
    
    public class ActionsExcercise {
    
        WebDriver driver;
        Actions actions;
    
    
        @BeforeEach
        public void setup() {
    
            System.setProperty("webdriver.chrome.driver", "src/main/resources/chromedriver.exe");
            driver = new ChromeDriver();
            driver.manage().window().maximize();
            driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
            driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
            driver.navigate().to("https://fakestore.testelka.pl/actions/");
    
            actions = new Actions(driver);
    
        }
    
        @AfterEach
        public void driverQuit() {
    
            driver.close();
            driver.quit();
    
        }
    
        @Test
        public void contextClick() {
    
            WebElement menu = driver.findElement(By.cssSelector("a.fs-context-menu-link"));
            ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", menu);
            WebElement cart = driver.findElement(By.cssSelector("a[href='/koszyk/']"));
            //actions.contextClick(menu).click(cart).build().perform();
            actions.moveByOffset(423, 783).contextClick().click(cart).build().perform();
            String headerText = driver.findElement(By.cssSelector("h1.entry-title")).getText();
            Assertions.assertEquals("Koszyk", headerText, "Cart page was not displayed");
    
        }
    }
    
    Odpowiedz