Selenium 36. Zadanie: wstęp do zasad programowania

Czas przećwiczyć to, co przerobiliśmy wspólnie w kilku ostatnich filmach. Przed Tobą zadanie z zasad programowania.

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.

Testy parametryzowane

W podanych przykładach używam testów parametryzowanych jako funkcjonalności dostarczanej przez JUnit. Żeby można ich było używać, trzeba dodać poniższą zależność do pom.xml:

<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.2.0</version>
<scope>test</scope>
</dependency>

Jeżeli chcesz zobaczyć jak to wygląda w TestNg, zobacz ten materiał.

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ę.

Kod, czyli rozwiązanie

Lepiej nie podglądać przed rozwiązaniem zadania ⚠️

Klasa: Zadanie7

Ukryta treść

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

Klasa: Zadanie8

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 aktywnego członkostwa. Wykup dostęp albo Zaloguj się, by móc zadawać pytania.

  1. Cześć, mam pytanie czy do getAlertCorrectTest musze deklarować zmienną przed asercją ?
    private String getAlertCorrectTest(){
    return driver.findElement(By.xpath(".//div/p[1]/strong[1]")).getText();
    }

    @Test
    public void loginByCorrectUserNameAndPassword(){

    loginUser(correctUserName, correctPassword);
    Assertions.assertEquals(expectedUserFullName,getAlertCorrectTest(), "Login name is different than expected. Expected name: " + expectedUserFullName);
    }
     

     

     

    Odpowiedz
  2. Hej 🙂
    Chciałem stworzyć sobie w IntelliJ, a właściwie to praktycznie przepisać przykład tego testu parametryzowanego, który zaprezentowałaś, ale nie mogę rozgryźć, dlaczego nie rozpoznaje mi adnotacji @ParametrizedTest. Nawet ręczne wklejenie " import org.junit.jupiter.params.ParameterizedTest; " nie pomogło. Czy orientujesz się, w czym może tkwić problem?

    Odpowiedz
  3. Hej. Mam pytanie co do tych parametryzowanych testów..Napisałem sobie wszystko tak jak w lekcji i to śmiga..jest ok. Ale teraz pytanie, a w zasadzie dwa: Czy to zadziała z Page Object? Czy zadziała z adnotacją @FindBy? Próbowałem to jakoś ograć w ten sposób ale z marnym skutkiem..

    Odpowiedz
  4. hej a jak obsłużyc w @CsvSource tekst dotyczący expectedMessage zawierający przecinek np:
    Błąd: Brak karo wśród zarejestrowanych w witrynie użytkowników. Jeśli nie masz pewności co do nazwy użytkownika, użyj adresu e-mail.

    Odpowiedz
  5. Cześć, chciałem zapytać jaką bibliotekę zaimportować żeby działały mi adnotacje @ParameterizedTest lub @CSVSource bo mam je na czerwono w projekcie
    https://snipboard.io/q0pK1n.jpg

    Odpowiedz