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 w C# 18. Zadanie: testy logowania

W ramach tego zadania napiszemy sobie testy logowania, które wymyślisz Ty. Pokażę Ci mniej więcej co chcemy testować i na co zwrócić uwagę ale przypadki testowe są na Twojej głowie, bo w tym zadaniu poćwiczymy nie tylko użycie poznanych metod w Selenium, ale też właśnie budowę przypadków testowych w oparciu o zachowanie naszego formularza.

Zadanie: testy logowania

Polecenie

Ukryta treść

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

Dodatkowe metody

Asercje, które mogą Ci się przydać w tym zadaniu:

Assert.IsTrue(coś_co_zwróci_true_lub_false, komunikat_błędu);
Assert.AreEqual(wartość_oczekiwana, wartość_faktyczna, komunikat_błędu);

Metoda sprawdzająca, czy w danym stringu znajduje się jakiś substring. Czyli mówiąc po ludzku sprawdza czy w jakimś tekście jest np. jakieś słowo, zdanie albo inny fragment tekstu.

tekst_w_którym_szukamy.Contains(fragment_którego_szukamy);

I na koniec właściwość, pozwalająca Wam pobrać tekst z elementu:

string text = element.Text;

Przypadki pozytywne i negatywne

Na wszelki wypadek jeszcze napisze krótko o testowaniu negatywnym i pozytywnym. Testowanie pozytywne będzie obejmowało przypadki testowe, w których wprowadzamy prawidłowe dane i oczekujemy określonego zachowania i braku błędów. W naszym przypadku będzie to np. wprowadzenie prawidłowej nazwy użytkownika i prawidłowego hasła dla tego użytkownika, kliknięcie przycisku do logowania. Po takiej akcji powinniśmy być zalogowani poprawnie.

Testowanie negatywne będzie obejmowało przypadki, w których wprowadzimy nieprawidłowe dane, np. prawidłową nazwę użytkownika ale nieprawidłowe hasło. W takim przypadku chcemy się upewnić, że nie zostaniemy zalogowani i że zobaczymy jakiś komunikat, informujący nas w zrozumiały sposób co się stało.

Rozwiązanie

Lepiej nie podglądać przed rozwiązaniem 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. Sprytna opcja wyciągnięciem tekstu z klasy. Co tu właściwie się dzieje i czemu to działa ?, driver.FindElement(By.CssSelector("ul.woocommerce-error")).Text; to właściwość, nie metoda jak np Click()?

    Ja kombinowałem z xpathami ale nie mogłem znaleźć tego komunikatu który jest pomiędzy tagami. Kolega podpowiedział coś takiego
    //li[contains(., 'Błąd: Konto z Twoim adresem e-mail jest już zarejestrowane')]
    Tu jak coś jest to troche opisane https://stackoverflow.com/questions/38240763/xpath-difference-between-dot-and-text

    Odpowiedz