diff --git a/pages/exercises_ru_words_page.py b/pages/exercises_ru_words_page.py index 8e0021e0d1..918690e3c1 100644 --- a/pages/exercises_ru_words_page.py +++ b/pages/exercises_ru_words_page.py @@ -1,5 +1,6 @@ """Methods for verifying web elements on the 'Exercises "Words"' page on the 'ru' local""" import allure +import requests from pages.base_page import BasePage from locators.exercises_ru_words_page_locators import ExercisesRuWordsPageLocators, HeaderLocators @@ -163,6 +164,8 @@ def check_breadcrumbs_clickability(self): @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 + return [element.get_attribute("href") for element in self.check_list1_presence()] + + @allure.step("Get status code of links") + def get_link_status_codes_in_breadcrumbs(self): + return [requests.head(link_href).status_code for link_href in self.get_breadcrumbs_links_href()] diff --git a/test_data/exercises_ru_words_page_data.py b/test_data/exercises_ru_words_page_data.py index 28f824e9ce..4b6d51c880 100644 --- a/test_data/exercises_ru_words_page_data.py +++ b/test_data/exercises_ru_words_page_data.py @@ -24,6 +24,4 @@ class ExercisesRuWordsPageData: 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'] + links_status_code = 200 diff --git a/tests/exercises_ru_words_page_test.py b/tests/exercises_ru_words_page_test.py index 229f2d1ca8..4bf57a7ea0 100644 --- a/tests/exercises_ru_words_page_test.py +++ b/tests/exercises_ru_words_page_test.py @@ -102,12 +102,14 @@ def test_erw_02_04_verify_cards_text(self, driver, exercises_ru_words_page_open) "Text in cards mismatch the valid values" class TestExercisesRuWordsPageLinks: - @allure.title("Verify clickability of breadcrumbs on the page") + @allure.title("Verify clickability, href, status code of links in breadcrumbs on the page") 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() + breadcrumbs_link_status_codes = page.get_link_status_codes_in_breadcrumbs() 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" - + "Attributes 'href' of links in breadcrumbs mismatch the valid values" + assert all(el == ExercisesRuWordsPageData.links_status_code for el in breadcrumbs_link_status_codes), \ + "Status codes of links in breadcrumbs mismatch valid values"