Przed Tobą pierwsze zadanie w ramach lekcji z Page Object Model. To zadanie z POM polega na przepisaniu kolejnego testu z naszego projektu testowego. Będzie to test, w którym dodawaliśmy 10 sztuk tego samego produktu do koszyka.
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.
Uwaga: plik z projektem testowym, na którym pracujemy w lekcjach dotyczących POM wymaga uzyskania dostępu. Dostaniesz go tutaj.
Przydatne linki
Krótkie wprowadzenie do Page Object Design Pattern na seleniumhq.org.
Projekt testowy na podstawie którego tworzymy framework.
Poprzednia lekcja w ramach POM: kolejna klasa Page Object.
Twoje klasy po tym zadaniu powinny wyglądać jak poniżej
Lepiej nie podglądać przed rozwiązaniem zadania ⚠️
Klasa testowa: CartTests
Klasa Page Object: CartPage
Klasa Page Object: ProductPage
Klasa Page Object: CategoryPage
Hej,
Mogłabyś mi pomóc, bo dostaję taki komunikat a skopiowałam już nawet Twój kod w obawie przed literówką: org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"css selector","selector":"div.quantity>input"}
Halko! Sprawdziłam u siebie i hula ale wystarczy, [...] CAŁOŚĆ KOMENTARZA WIDOCZNA DLA SUBSKRYBENTÓW.
Dzięki, przerobiłam kod i zadziałało 🙂
private By productId = By.cssSelector("div.quantity>input");
public int getProductQuantity() {
WebDriverWait wait = new WebDriverWait(driver, 7);
wait.until(ExpectedConditions.presenceOfElementLocated(productId));
String quantityString = driver.findElement(productId).getAttribute("value");
return Integer.parseInt(quantityString);
}