Search on Yandex.Market
Задание реализовать тестовый фреймворк на Java + Selenium + TestNG/JUnit
Описание действия | Ожидаемое поведение системы |
Перейти по адресу https://market.yandex.ru/ | Осуществлен переход на https://market.yandex.ru/ |
Нажать по ссылке “Каталог” |
Открыт “Каталог”, представлены блоки: основные категории товаров, “Популярные товары”, “Вас также могут заинтересовать”, “Вы смотрели”
|
Перейти по в раздел “Электроника” -> “Мобильные телефоны” |
Открыт раздел “Мобильные телефоны”, в категории “Популярные” и “Новинки” представлены 3 девайса
|
Нажать по “расширенный поиск” блока выбора по параметрам |
Представлен раздел “Мобильные телефоны”, справа доступен блок параметров
|
Ввести Цену, руб. “от” значение 5125 | Значение успешно проставлено в поле |
Ввести Цену, руб. “до” значение 10123 | Значение успешно проставлено в поле |
Кликнуть на чекбокс “В продаже” | Значение чекбокса установлено на “Выбрано” |
Раскрыть блок “Платформа” | Успешно раскрыт блок параметра “Платформа” |
Кликнуть на селектбокс “Android” | Значение селектбокса установлено на “Выбрано” |
Случано выбрать 3 устройства из представленных на странице, имеющих рейтинг от “3,5” до “4,5”, и вывести в лог информацию в формате “номер девайса на странице – наименование девайса – стоимость девайса (от-до)” | – |
Solution:
import java.util.ArrayList; import java.util.List; import java.util.Random; import org.junit.Test; import UIMap.AdvancedSearch; import UIMap.SearchResult; import UIMap.SearchResultList; import UIMap.YandexMarket; public class TestClass { @Test public void SearchOnMarket() { new YandexMarket() {{ OpenScreen(); ClickByLink("Каталог"); ClickByLink("Электроника"); ClickByLink("Мобильные телефоны"); ClickByLink("расширенный поиск →"); }}; new AdvancedSearch() {{ Price.Range(5125, 10123); InStock.SetTrue(); ExpandMenu("Платформа"); GetMenuItemCheckBox("Платформа", "Android").SetTrue(); }}; new SearchResult() {{ Random n = new Random(); List<SearchResultList> filteredResult = new ArrayList<SearchResultList>(); for (SearchResultList item : Items) { if (item.Rating >= 3.5 && item.Rating <= 4.5) { filteredResult.add(item); } } Integer index = n.nextInt(filteredResult.size() + 1); SearchResultList item1 = filteredResult.get(index); System.out.format("%d - %s\t%s\t%s\n", item1.Number, item1.Name, item1.PriceFrom, item1.PriceTo); filteredResult.remove(index); index = n.nextInt(filteredResult.size() + 1); SearchResultList item2 = filteredResult.get(index); System.out.format("%d - %s\t%s\t%s\n", item2.Number, item2.Name, item2.PriceFrom, item2.PriceTo); filteredResult.remove(index); index = n.nextInt(filteredResult.size() + 1); SearchResultList item3 = filteredResult.get(index); System.out.format("%d - %s\t%s %s\n", item3.Number, item3.Name, item3.PriceFrom, item3.PriceTo); filteredResult.remove(index); }}; } }