regard scenario 2
This commit is contained in:
parent
90bed51df4
commit
f2c7839684
@ -4,3 +4,5 @@
|
||||
|
||||

|
||||
|
||||
"Идеальная реализация должна позволить в теории создать третий похожий сценарий с другими категориями товаров, не написав ни единой дополнительной строчки Java кода."
|
||||
- такого не получилось, пришлось добавить один степ для второго сценария
|
@ -21,6 +21,12 @@ public class CatalogPage {
|
||||
categoryLink.click();
|
||||
}
|
||||
|
||||
public void selectCategoryMainMenu(String name) {
|
||||
WebElement categoryLink = wait.until(ExpectedConditions.elementToBeClickable(
|
||||
By.xpath("//a/div[text()='" + name + "']")));
|
||||
categoryLink.click();
|
||||
}
|
||||
|
||||
public void closeCookieBannerIfPresent() {
|
||||
try {
|
||||
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
|
||||
|
@ -24,13 +24,6 @@ public class ListingPage {
|
||||
waitForJSIdle();
|
||||
}
|
||||
|
||||
public void selectGigabyte() {
|
||||
WebElement checkbox = wait.until(ExpectedConditions.elementToBeClickable(
|
||||
By.cssSelector("input[id*='Gigabyte'] + label")));
|
||||
checkbox.click();
|
||||
waitForJSIdle();
|
||||
}
|
||||
|
||||
public List<WebElement> getAllProducts() {
|
||||
return driver.findElements(By.cssSelector("div.Card_wrap__hES44"));
|
||||
}
|
||||
@ -45,4 +38,17 @@ public class ListingPage {
|
||||
((JavascriptExecutor) driver).executeScript("return document.readyState").equals("complete")
|
||||
);
|
||||
}
|
||||
|
||||
public void selectManufacturer(String name) {
|
||||
|
||||
WebElement checkbox = wait.until(ExpectedConditions.elementToBeClickable(
|
||||
By.cssSelector("input[id*='" + name + "'] + label")));
|
||||
checkbox.click();
|
||||
waitForJSIdle();
|
||||
}
|
||||
|
||||
public void waitForSearchResultsToUpdate(int expectedCount) {
|
||||
wait.until(driver -> getAllProducts().size() <= expectedCount);
|
||||
waitForJSIdle(); // если хочешь ещё чуть-чуть гарантии
|
||||
}
|
||||
}
|
||||
|
@ -47,6 +47,11 @@ public class SearchSteps {
|
||||
catalogPage.selectCategory(category);
|
||||
}
|
||||
|
||||
@И("Выбираем раздел меню {string}")
|
||||
public void chooseCategoryMainMenu(String category) {
|
||||
catalogPage.selectCategoryMainMenu(category);
|
||||
}
|
||||
|
||||
@И("Выбираем подраздел {string}")
|
||||
public void chooseSubCategory(String sub) {
|
||||
catalogPage.selectSubCategory(sub);
|
||||
@ -59,9 +64,7 @@ public class SearchSteps {
|
||||
|
||||
@И("Фильтруем по производителю {string}")
|
||||
public void filterByManufacturer(String name) {
|
||||
if (name.equalsIgnoreCase("Gigabyte")) {
|
||||
listingPage.selectGigabyte();
|
||||
}
|
||||
listingPage.selectManufacturer(name);
|
||||
}
|
||||
|
||||
@И("Проверяем, что товаров не более {int}")
|
||||
|
15
src/test/resources/features/regard_search_keyboard.feature
Normal file
15
src/test/resources/features/regard_search_keyboard.feature
Normal file
@ -0,0 +1,15 @@
|
||||
# language: ru
|
||||
Функциональность: Поиск клавиатур с фильтрами и проверкой
|
||||
|
||||
Сценарий: Поиск клавиатуры A4Tech с фильтром по цене
|
||||
Дано Открываем сайт regard
|
||||
И Открываем меню Каталог
|
||||
И Выбираем раздел меню "Периферия"
|
||||
И Выбираем подраздел "Клавиатуры"
|
||||
И Задаем цену от "2000"
|
||||
И Фильтруем по производителю "A4Tech"
|
||||
И Проверяем, что товаров не более 24
|
||||
И Сохраняем наименование первого товара
|
||||
И Ищем товар по сохраненному имени
|
||||
Тогда На странице только один товар
|
||||
И Название товара соответствует сохраненному
|
Loading…
x
Reference in New Issue
Block a user