From d267053b2a49abff041de0658df30b8822aa5487 Mon Sep 17 00:00:00 2001 From: Alena Krauch Date: Thu, 2 Jan 2025 23:43:31 +0300 Subject: [PATCH] add test_erw_03.03, update exercises_ru_words_page_test.py, exercises_ru_words_page.py, exercises_ru_words_page_data.py --- pages/exercises_ru_words_page.py | 34 +++++++++++++---------- test_data/exercises_ru_words_page_data.py | 28 ++++++++++--------- tests/exercises_ru_words_page_test.py | 21 +++++++++----- 3 files changed, 48 insertions(+), 35 deletions(-) diff --git a/pages/exercises_ru_words_page.py b/pages/exercises_ru_words_page.py index fd49fa1598..6a4133e050 100644 --- a/pages/exercises_ru_words_page.py +++ b/pages/exercises_ru_words_page.py @@ -89,7 +89,7 @@ def check_elements_visibility_on_7th_level(self): return all(element.is_displayed() for element in self.get_structure_of_7th_level()) @allure.step("Check the list1 on the 4th level of nesting is present on the page") - def get_list1_of_links(self): + def get_list1_of_breadcrumbs_links(self): elements = self.elements_are_present(self.locators.PAGE_LIST1) # tags = [element.tag_name for element in elements] return elements @@ -99,7 +99,7 @@ def check_list1_visibility(self): return self.element_is_visible(self.locators.PAGE_LIST1) @allure.step("Check the list2 on the 4th level of nesting is present on the page") - def get_list2_of_links(self): + def get_list2_of_group_links(self): elements = self.elements_are_present(self.locators.PAGE_LIST2) # tags = [element.tag_name for element in elements] return elements @@ -109,7 +109,7 @@ def check_list2_visibility(self): return self.element_is_visible(self.locators.PAGE_LIST2) @allure.step("Check the list3 on the 5th level of nesting is present on the page") - def get_list3_of_links(self): + def get_list3_of_subgroup_links(self): elements = self.elements_are_present(self.locators.PAGE_LIST3) # tags = [element.tag_name for element in elements] return elements @@ -140,30 +140,30 @@ def get_value_of_tab_title(self): @allure.step("Get value of the breadcrumbs on the page") def get_value_of_breadcrumbs(self): - breadcrumbs_text = [element.text for element in self.get_list1_of_links()] + breadcrumbs_text = [element.text for element in self.get_list1_of_breadcrumbs_links()] print(len(breadcrumbs_text), breadcrumbs_text, sep='\n') return breadcrumbs_text @allure.step("Get text in group links on the page") def get_group_links_text(self): - links_text = [element.text for element in self.get_list2_of_links()] + links_text = [element.text for element in self.get_list2_of_group_links()] print(len(links_text), *links_text, sep='\n') return links_text - @allure.step("Get text in cards on the page") - def get_cards_text(self): - cards_text = [element.text for element in self.get_list3_of_links()] - print(len(cards_text), cards_text, sep='\n') - return cards_text + @allure.step("Get text in subgroup links on the page") + def get_subgroup_links_text(self): + subgroup_links_text = [element.text for element in self.get_list3_of_subgroup_links()] + print(len(subgroup_links_text), subgroup_links_text, sep='\n') + return subgroup_links_text # Checking links on the page @allure.step("Check if breadcrumbs are clickable") def check_breadcrumbs_clickability(self): - return all(link.is_enabled() for link in self.get_list1_of_links()) + return all(link.is_enabled() for link in self.get_list1_of_breadcrumbs_links()) @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.get_list1_of_links()] + breadcrumbs_links_href = [element.get_attribute("href") for element in self.get_list1_of_breadcrumbs_links()] print(len(breadcrumbs_links_href), *breadcrumbs_links_href, sep='\n') return breadcrumbs_links_href @@ -173,16 +173,20 @@ def get_link_status_codes_in_breadcrumbs(self): @allure.step("Check if group links are clickable") def check_group_links_clickability(self): - return all(link.is_enabled() for link in self.get_list2_of_links()) + return all(link.is_enabled() for link in self.get_list2_of_group_links()) @allure.step("Get attribute 'title' of group links") def get_group_link_titles(self): - group_link_titles = [element.get_attribute("title") for element in self.get_list2_of_links()] + group_link_titles = [element.get_attribute("title") for element in self.get_list2_of_group_links()] print(len(group_link_titles), *group_link_titles, sep='\n') return group_link_titles @allure.step("Get attribute 'active-links' of group links") def get_group_link_active_links(self): - group_link_active_links = [el.get_attribute("data-test-active-link") for el in self.get_list2_of_links()] + group_link_active_links = [el.get_attribute("data-test-active-link") for el in self.get_list2_of_group_links()] print(len(group_link_active_links), *group_link_active_links, sep='\n') return group_link_active_links + + @allure.step("Check if subgroup links are clickable") + def check_subgroup_links_clickability(self): + return all(link.is_enabled() for link in self.get_list3_of_subgroup_links()) diff --git a/test_data/exercises_ru_words_page_data.py b/test_data/exercises_ru_words_page_data.py index 6dcf09433f..29acef62c2 100644 --- a/test_data/exercises_ru_words_page_data.py +++ b/test_data/exercises_ru_words_page_data.py @@ -14,19 +14,21 @@ class ExercisesRuWordsPageData: group_link_active_links = ['Слова', 'Слова Королёвой', 'Похожие фразы', 'Группа слов', 'Предложения', 'Дихотическое слушание', 'Слова с частотной группировкой'] - cards_text = ['Семья', 'Любимый дом', 'Что я ем', 'Одежда', 'В школе', 'Математика', 'Домашние питомцы', - 'Мир животных', 'Транспорт', 'Цвета и форма', 'В городе', 'В деревне', 'На прогулке', 'Погода', - 'Стану кем хочу', 'Тело человека', 'Развлечения', 'Путешествия', 'В больнице', 'Что я чувствую', - 'Игрушки', 'Насекомые', 'Интерьер', 'На кухне', 'Музыка', 'Музыкальные инструменты', 'Птицы', - 'Украшения', 'История', 'Действия', 'Действия(слышимые)', 'Транспорт Дополнение', - 'Транспорт (спецтехника)', 'Плодовые деревья и кусты', 'Растения', 'Деревья и кустарники', - 'Спорт', 'В магазине', 'Парнокопытные', 'Породы собак', 'Канцелярские принадлежности', 'Цветы', - 'Русский язык и литература', 'Физика', 'Биология', 'Инструменты'] - - group_link_titles = ['Распознавание слов', - 'Слова по методическому пособию Инны Васильевны Королевой Учусь слушать и говорить', - 'Распознавание похожих фраз', 'Распознавание последовательности слов', - 'Распознавание предложений', 'Дихотическое слушание', 'Слова с частотной группировкой'] + subgroup_links_text = [ + 'Семья', 'Любимый дом', 'Что я ем', 'Одежда', 'В школе', 'Математика', 'Домашние питомцы', 'Мир животных', + 'Транспорт', 'Цвета и форма', 'В городе', 'В деревне', 'На прогулке', 'Погода', 'Стану кем хочу', + 'Тело человека', 'Развлечения', 'Путешествия', 'В больнице', 'Что я чувствую', 'Игрушки', 'Насекомые', + 'Интерьер', 'На кухне', 'Музыка', 'Музыкальные инструменты', 'Птицы', 'Украшения', 'История', 'Действия', + 'Действия(слышимые)', 'Транспорт Дополнение', 'Транспорт (спецтехника)', 'Плодовые деревья и кусты', 'Растения', + 'Деревья и кустарники', 'Спорт', 'В магазине', 'Парнокопытные', 'Породы собак', 'Канцелярские принадлежности', + 'Цветы', 'Русский язык и литература', 'Физика', 'Биология', 'Инструменты' + ] + + group_link_titles = [ + 'Распознавание слов', 'Слова по методическому пособию Инны Васильевны Королевой Учусь слушать и говорить', + 'Распознавание похожих фраз', 'Распознавание последовательности слов', 'Распознавание предложений', + 'Дихотическое слушание', 'Слова с частотной группировкой' + ] breadcrumbs_links_href = [ f"{Links.URL_MAIN_PAGE}groups", diff --git a/tests/exercises_ru_words_page_test.py b/tests/exercises_ru_words_page_test.py index 25abfd7a08..cdd394c591 100644 --- a/tests/exercises_ru_words_page_test.py +++ b/tests/exercises_ru_words_page_test.py @@ -51,11 +51,11 @@ def test_erw_01_02_verify_page_structure_and_visibility(self, driver, exercises_ @allure.title("Verify presence, visibility of lists on the page") def test_erw_01_03_verify_page_structural_elements(self, driver, exercises_ru_words_page_open): page = ExercisesRuWordsPage(driver) - list1_on_4th_level = page.get_list1_of_links() + list1_on_4th_level = page.get_list1_of_breadcrumbs_links() list1_visibility = page.check_list1_visibility() - list2_on_4th_level = page.get_list2_of_links() + list2_on_4th_level = page.get_list2_of_group_links() list2_visibility = page.check_list2_visibility() - list3_on_5th_level = page.get_list3_of_links() + list3_on_5th_level = page.get_list3_of_subgroup_links() list3_visibility = page.check_list3_visibility() list4_on_6th_level = page.get_list4_of_links() list4_visibility = page.check_list4_visibility() @@ -93,11 +93,12 @@ def test_erw_02_03_verify_group_links_text(self, driver, exercises_ru_words_page "Text in group links mismatches valid values" @allure.title("Verify text in cards on the page") - def test_erw_02_04_verify_cards_text(self, driver, exercises_ru_words_page_open): + def test_erw_02_04_verify_subgroup_links_text(self, driver, exercises_ru_words_page_open): page = ExercisesRuWordsPage(driver) - cards_text = page.get_cards_text() - assert cards_text, "Text in cards is absent" - assert all(text in ExRuWoPaData.cards_text for text in cards_text), "Text in cards mismatches valid values" + subgroup_links_text = page.get_subgroup_links_text() + assert subgroup_links_text, "Text in cards is absent" + assert all(text in ExRuWoPaData.subgroup_links_text for text in subgroup_links_text), \ + "Text in subgroup links mismatches valid values" class TestExercisesRuWordsPageLinks: @allure.title("Verify clickability, href, status code of links in breadcrumbs on the page") @@ -125,3 +126,9 @@ def test_erw_03_02_verify_group_links(self, driver, exercises_ru_words_page_open assert group_link_active_links, "Attributes 'active-link' of links in group links are empty" assert all(element in ExRuWoPaData.group_link_active_links for element in group_link_active_links), \ "Attributes 'active-link' of links in group links mismatch valid values" + + @allure.title("Verify clickability subgroup links on the page") + def test_erw_03_03_verify_subgroup_links(self, driver, exercises_ru_words_page_open): + page = ExercisesRuWordsPage(driver) + subgroup_links_clickability = page.check_subgroup_links_clickability() + assert subgroup_links_clickability, "Subgroup links are unclickable"