From b303f5009e36716b0f5f3f11277cc595a6dd203c Mon Sep 17 00:00:00 2001 From: Alena Krauch Date: Mon, 23 Dec 2024 22:56:49 +0300 Subject: [PATCH] add test_erw_03.01, update exercises_ru_words_page_test.py, exercises_ru_words_page.py, exercises_ru_words_page_data.py, exercises_ru_words_page_locators.py --- locators/exercises_ru_words_page_locators.py | 2 +- pages/exercises_ru_words_page.py | 6 ++++++ test_data/exercises_ru_words_page_data.py | 11 +++++++++++ tests/exercises_ru_words_page_test.py | 3 +++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/locators/exercises_ru_words_page_locators.py b/locators/exercises_ru_words_page_locators.py index d92133b7cc..fd1203d35e 100644 --- a/locators/exercises_ru_words_page_locators.py +++ b/locators/exercises_ru_words_page_locators.py @@ -11,7 +11,7 @@ class ExercisesRuWordsPageLocators: PAGE_FIFTH_LEVEL_ELEMENTS = (By.XPATH, "//main/*/*/*/*/*") PAGE_SIXTH_LEVEL_ELEMENTS = (By.XPATH, "//main/*/*/*/*/*/*") PAGE_SEVENTH_LEVEL_ELEMENTS = (By.XPATH, "//main/*/*/*/*/*/*/*") - PAGE_LIST1 = (By.XPATH, '//ul[@aria-label="Breadcrumbs"]/li') + PAGE_LIST1 = (By.XPATH, '//ul[@aria-label="Breadcrumbs"]//a') # PAGE_LIST1 = (By.XPATH, "//main//div/li") PAGE_LIST2 = (By.XPATH, "//aside//li") PAGE_LIST3 = (By.XPATH, '//div[contains(@class, "series-page")]//a') diff --git a/pages/exercises_ru_words_page.py b/pages/exercises_ru_words_page.py index b76629fb2b..8e0021e0d1 100644 --- a/pages/exercises_ru_words_page.py +++ b/pages/exercises_ru_words_page.py @@ -160,3 +160,9 @@ def get_cards_text(self): @allure.step("Check if breadcrumbs are clickable") def check_breadcrumbs_clickability(self): return all(link.is_enabled() for link in self.check_list1_presence()) + + @allure.step("Get attribute 'href' of links in breadcrumbs") + def get_breadcrumbs_links_href(self): + breadcrumbs_links_href = [element.get_attribute("href") for element in self.check_list1_presence()] + print(len(breadcrumbs_links_href), *breadcrumbs_links_href, sep='\n') + return breadcrumbs_links_href diff --git a/test_data/exercises_ru_words_page_data.py b/test_data/exercises_ru_words_page_data.py index dc9cbdc365..28f824e9ce 100644 --- a/test_data/exercises_ru_words_page_data.py +++ b/test_data/exercises_ru_words_page_data.py @@ -1,4 +1,5 @@ """Data for verifying web elements on the 'Exercises "Words"' page on the 'ru' local""" +from test_data.links import MainPageLinks as Links class ExercisesRuWordsPageData: @@ -16,3 +17,13 @@ class ExercisesRuWordsPageData: 'Транспорт (спецтехника)', 'Плодовые деревья и кусты', 'Растения', 'Деревья и кустарники', 'Спорт', 'В магазине', 'Парнокопытные', 'Породы собак', 'Канцелярские принадлежности', 'Цветы', 'Русский язык и литература', 'Физика', 'Биология', 'Инструменты'] + + breadcrumbs_links_href = [ + f"{Links.URL_MAIN_PAGE}groups", + f"{Links.URL_MAIN_PAGE}groups/2", + f"{Links.URL_MAIN_PAGE}groups/2/series/1" + ] + + a = ['https://www.brainup.site/groups', + 'https://www.brainup.site/groups/2', + 'https://www.brainup.site/groups/2/series/1'] diff --git a/tests/exercises_ru_words_page_test.py b/tests/exercises_ru_words_page_test.py index 0c86de98ac..229f2d1ca8 100644 --- a/tests/exercises_ru_words_page_test.py +++ b/tests/exercises_ru_words_page_test.py @@ -106,5 +106,8 @@ class TestExercisesRuWordsPageLinks: def test_erw_03_01_verify_breadcrumbs_links(self, driver, exercises_ru_words_page_open): page = ExercisesRuWordsPage(driver) breadcrumbs_clickability = page.check_breadcrumbs_clickability() + breadcrumbs_links_href = page.get_breadcrumbs_links_href() assert breadcrumbs_clickability, "Breadcrumbs are unclickable" + assert all(href in ExercisesRuWordsPageData.breadcrumbs_links_href for href in breadcrumbs_links_href), \ + "Attributes 'href' of links in breadcrumbs do not match the valid values"