Praca z formularzem logowania

Dzisiaj napiszemy test automatyczny, którego celem będzie poprawne uzupełnienie formularza logowania danymi i weryfikacja czy logowanie przebiegło poprawnie i czy na pewno jesteśmy zalogowani na właściwe konto.

Będziemy pracować z formularzem logowania na stronie: http://automationpractice.com Mam już tam założone konto więc podaję poprawne dane logowania:

Login: login@test.pl

Hasło: password

Imię i Nazwisko właściciela konta: Tomasz Stelmach

Poniżej wklejam cały kod i opisze szczegółowo linie, które są znaczące dla naszego testu:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;


        public class LoginTest {

            public static void main(String[] args) throws InterruptedException {

                System.setProperty("webdriver.chrome.driver", "C:\\Users\\Tomasz\\Documents\\seleniumChromeDriver\\chromedriver.exe");

                // Tworzymy instancję drivera przeglądarki Chrome
                WebDriver driver = new ChromeDriver();
                driver.get("http://automationpractice.com");

                WebElement logButton = driver.findElement(By.linkText("Sign in"));
                logButton.click();

                System.out.println("Tytuł strony: " + driver.getTitle());
                System.out.println("URL strony: " + driver.getCurrentUrl());

                WebElement email = driver.findElement(By.id("email"));
                WebElement passowrd = driver.findElement(By.id("passwd"));
                WebElement submit = driver.findElement(By.id("SubmitLogin"));

                email.sendKeys("login@test.pl");
                passowrd.sendKeys("password");
                submit.click();

                System.out.println("Tytuł strony: " +   driver.getTitle());
                System.out.println("URL strony: " +  driver.getCurrentUrl());


                String konto = driver.findElement(By.xpath(".//*[@id='header']/div[2]/div/div/nav/div[1]/a/span")).getText();

                if (konto.equals("Tomasz Stelmach"))
                {
                    System.out.println("Jesteś zalogowany na konto " + konto);
                }
                else
                {
                    System.out.println("Jesteś zalogowany na niewłaściwym koncie");
                }


                // Zamykamy przeglądarkę
                driver.quit();
            }
        }

 

 

 

Poniższa linijka to dobrze nam znana nawigacja: http://automationpractice.com. Następnie pobieramy i wypisujemy tytuł strony.  Potem następuje przejście na stronę logowania poprzez klikniecie w button Sign in. W tym celu tworzymy WebElement o nazwie logButton, lokalizujemy nasz element za pomocą selektora id a następnie przy użyciu funkcji click() – klikamy na element i przenosimy się do formularza logowania.

 

 

Kolejne trzy linie to nic innego jak lokalizacja poszczególnych WebElementów i zapisania ich pod określonymi nazwami, po to aby później móc wykonywać na nich odpowiednie funkcje takie jak click() czy sendKeys().

 

Teraz na WebElementach emial oraz password wykonujemy akcję sendKeys()Jako argument tej funkcji przekazujemy ciągi znaków w postaci poprawnego maila oraz hasła.

 

Na koniec klikamy w przycisk zatwierdzający formularz.

Po tych akcjach powinniśmy zostać zalogowani do konta na nazwisko Tomasz Stelmach.

 

Kolejne dwie linijki to ponowne pobranie i wypisanie tytułu oraz URL aktualnej strony.

 

Okay, jesteśmy zalogowania do konta, ale naszym kolejnym zadaniem jest sprawdzenie czy zostaliśmy zalogowani do poprawnego konta.

Dane właściciela poprawnego konta to Tomasz Stelmach. Wobec czego sprawdzamy czy konto na pewno należy do tej osoby. Jak widzimy poniżej, kiedy jesteśmy zalogowani do konta widzimy w prawym górnym rogu do kogo ono należy – wobec czego wystarczy ‚Złapać’ ten element i sprawdzić czy właścicielem tego konta to Tomasz Stelmach.

 

Tworzymy zmienną konto i przypisujemy do niej element który będzie przechowywał w sobie dane właściciel konta (uchwycę ten element za pomocą selektora xpath) a na końcu stosujemy funkcję getText() – aby pobrać z tego elementu wartość tekstową.

 

Następne 4 linie to nic innego jak porównanie zmiennej tekstowej o nazwie konto (w której przechowywany jest tekst z pobranym  w poprzedniej instrukcji  imieniem i nazwiskiem właściciela konta) z ciągiem znaków Tomasz Stelmach – gdyż to są nasze poprawne dane na które powinnyśmy być zalogowani. Przy pomocy instrukcji if else sprawdzamy warunek i wypisujemy stosowny komunikat w przypadku prawdy bądź fałszu zadanego warunku.

 

 

Pierwszy prosty test, który coś sprawdza za nami, teraz będzie już tylko ciekawiej!:D

 

4 myśli na “Praca z formularzem logowania”

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *