diff --git a/test_data/exercises_ru_words_page_data.py b/test_data/exercises_ru_words_page_data.py index ec4671cb0e..4fdefbdb13 100644 --- a/test_data/exercises_ru_words_page_data.py +++ b/test_data/exercises_ru_words_page_data.py @@ -5,7 +5,7 @@ class ExercisesRuWordsPageData: tab_title = ("Речевые упражнения (готовы для занятий) | BrainUp", "Speech exercises | BrainUp") - tab_title_ru = "Речевые упражнения (готовы для занятий) | BrainUp" + tab_title_ru = ("Речевые упражнения (готовы для занятий) | BrainUp",) breadcrumbs_text = ('', 'Речевые упражнения (готовы для занятий)', 'Слова') @@ -46,73 +46,28 @@ class ExercisesRuWordsPageData: f"{Links.URL_GROUPS_PAGE}/2", f"{Links.URL_GROUPS_PAGE}/2/series/1") - group_link_urls = (f"{Links.URL_GROUPS_PAGE}/2/series/1", - f"{Links.URL_GROUPS_PAGE}/2/series/17", - f"{Links.URL_GROUPS_PAGE}/2/series/2", - f"{Links.URL_GROUPS_PAGE}/2/series/3", - f"{Links.URL_GROUPS_PAGE}/2/series/4", - f"{Links.URL_GROUPS_PAGE}/2/series/5", - f"{Links.URL_GROUPS_PAGE}/2/series/6") + p = f"{Links.URL_GROUPS_PAGE}/2/series/" + group_link_urls = (f"{p}1", f"{p}2", f"{p}3", f"{p}4", f"{p}5", f"{p}6", f"{p}17") - subgroup_link_urls = (f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/1", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/2", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/3", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/4", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/5", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/6", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/7", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/8", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/9", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/10", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/11", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/12", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/13", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/14", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/15", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/16", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/17", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/18", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/19", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/20", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/21", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/22", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/23", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/24", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/25", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/26", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/27", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/28", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/29", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/30", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/31", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/32", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/33", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/34", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/35", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/36", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/37", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/38", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/39", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/40", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/41", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/42", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/43", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/44", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/45", - f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/46") + q = f"{ExUrls.URL_EXERCISES_RU_WORDS_PAGE}/subgroup/" + subgroup_link_urls = (f"{q}1", f"{q}2", f"{q}3", f"{q}4", f"{q}5", f"{q}6", f"{q}7", f"{q}8", f"{q}9", f"{q}10", + f"{q}11", f"{q}12", f"{q}13", f"{q}14", f"{q}15", f"{q}16", f"{q}17", f"{q}18", f"{q}19", + f"{q}20", f"{q}21", f"{q}22", f"{q}23", f"{q}24", f"{q}25", f"{q}26", f"{q}27", f"{q}28", + f"{q}29", f"{q}30", f"{q}31", f"{q}32", f"{q}33", f"{q}34", f"{q}35", f"{q}36", f"{q}37", + f"{q}38", f"{q}39", f"{q}40", f"{q}41", f"{q}42", f"{q}43", f"{q}44", f"{q}45", f"{q}46") links_status_code = (200,) s = 'background-image: url("https://brnup.s3.eu-north-1.amazonaws.com/pictures/theme/' e = '.svg");' - subgroup_links_style = (f'{s}family{e}', f'{s}home{e}', f'{s}food{e}', f'{s}clothes{e}', f'{s}school{e}', - f'{s}math{e}', f'{s}pets{e}', f'{s}animals{e}', f'{s}transport{e}', f'{s}colors{e}', - f'{s}city{e}', f'{s}country{e}', f'{s}walk{e}', f'{s}weather{e}', f'{s}future{e}', - f'{s}body{e}', f'{s}game{e}', f'{s}adventure{e}', f'{s}hospital{e}', f'{s}feelings{e}', - f'{s}toys{e}', f'{s}insects{e}', f'{s}interior{e}', f'{s}kitchen{e}', f'{s}music{e}', - f'{s}musical_instruments{e}', f'{s}birds{e}', f'{s}jewelry{e}', f'{s}history{e}', - f'{s}actions{e}', f'{s}audible_actions{e}', f'{s}more_transport{e}', - f'{s}special_transport{e}', f'{s}fruit_trees{e}', f'{s}plants{e}', f'{s}trees{e}', - f'{s}sport{e}', f'{s}shop{e}', f'{s}artiodactyls{e}', f'{s}dogs{e}', f'{s}stationery{e}', - f'{s}flowers{e}', f'{s}literature{e}', f'{s}physics{e}', f'{s}biology{e}', - f'{s}instruments{e}') + subgroup_links_style = (f"{s}family{e}", f"{s}home{e}", f"{s}food{e}", f"{s}clothes{e}", f"{s}school{e}", + f"{s}math{e}", f"{s}pets{e}", f"{s}animals{e}", f"{s}transport{e}", f"{s}colors{e}", + f"{s}city{e}", f"{s}country{e}", f"{s}walk{e}", f"{s}weather{e}", f"{s}future{e}", + f"{s}body{e}", f"{s}game{e}", f"{s}adventure{e}", f"{s}hospital{e}", f"{s}feelings{e}", + f"{s}toys{e}", f"{s}insects{e}", f"{s}interior{e}", f"{s}kitchen{e}", f"{s}music{e}", + f"{s}musical_instruments{e}", f"{s}birds{e}", f"{s}jewelry{e}", f"{s}history{e}", + f"{s}actions{e}", f"{s}audible_actions{e}", f"{s}more_transport{e}", + f"{s}special_transport{e}", f"{s}fruit_trees{e}", f"{s}plants{e}", f"{s}trees{e}", + f"{s}sport{e}", f"{s}shop{e}", f"{s}artiodactyls{e}", f"{s}dogs{e}", f"{s}stationery{e}", + f"{s}flowers{e}", f"{s}literature{e}", f"{s}physics{e}", f"{s}biology{e}", + f"{s}instruments{e}") diff --git a/tests/exercises_ru_words_page_test.py b/tests/exercises_ru_words_page_test.py index f70165c858..53c53fca5c 100644 --- a/tests/exercises_ru_words_page_test.py +++ b/tests/exercises_ru_words_page_test.py @@ -1,7 +1,7 @@ """Auto tests for verifying web elements on the 'Exercises "Words"' page on the 'ru' local""" import allure -from pages.exercises_ru_words_page import ExercisesRuWordsPage -from test_data.exercises_ru_words_page_data import ExercisesRuWordsPageData as ExRuWoPaData +from pages.exercises_ru_words_page import ExercisesRuWordsPage as erwPage +from test_data.exercises_ru_words_page_data import ExercisesRuWordsPageData as erwPD @allure.epic("The Exercises 'Words' Page on the 'ru' local") @@ -9,7 +9,7 @@ class TestExercisesRuWordsPage: class TestExRuWordsPageStructure: @allure.title("Verify presence and visibility of content on the page") def test_erw_01_01_verify_page_presence_and_visibility(self, driver, exercises_ru_words_page_open): - page = ExercisesRuWordsPage(driver) + page = erwPage(driver) page_content_presence = page.check_presence_of_page_content() page_content_visibility = page.check_visibility_of_page_content() assert page_content_presence, "The page content is absent in DOM" @@ -17,7 +17,7 @@ def test_erw_01_01_verify_page_presence_and_visibility(self, driver, exercises_r @allure.title("Verify composition, visibility of elements on the 1st-6th levels of nesting on the page") def test_erw_01_02_verify_page_structure_and_visibility(self, driver, exercises_ru_words_page_open): - page = ExercisesRuWordsPage(driver) + page = erwPage(driver) structure_of_1st_level = page.get_structure_of_1st_level() visibility_of_elements_on_1st_level = page.check_elements_visibility_on_1st_level() structure_of_2nd_level = page.get_structure_of_2nd_level() @@ -49,7 +49,7 @@ 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) + page = erwPage(driver) list1_on_5th_level = page.get_list1_of_breadcrumbs_links() list1_visibility = page.check_list1_visibility() list2_on_5th_level = page.get_list2_of_group_links() @@ -70,133 +70,133 @@ def test_erw_01_03_verify_page_structural_elements(self, driver, exercises_ru_wo class TestExRuWordsPageText: @allure.title("Verify value of the title of the tab") def test_erw_02_01_verify_tab_title(self, driver, exercises_ru_words_page_open): - page = ExercisesRuWordsPage(driver) + page = erwPage(driver) tab_title_value = page.get_value_of_tab_title() assert tab_title_value, "The title value of the tab is empty" - assert tab_title_value == ExRuWoPaData.tab_title_ru, "The title on the tab doesn't match the valid value" + assert tab_title_value in erwPD.tab_title_ru, "The title on the tab doesn't match the valid value" @allure.title("Verify value of the breadcrumbs on the page") def test_erw_02_02_verify_page_breadcrumbs_text(self, driver, exercises_ru_words_page_open): - page = ExercisesRuWordsPage(driver) + page = erwPage(driver) breadcrumbs_text = page.get_value_of_breadcrumbs() assert breadcrumbs_text, "The breadcrumbs value on the page are empty" - assert all(text in ExRuWoPaData.breadcrumbs_text for text in breadcrumbs_text), \ + assert all(element in erwPD.breadcrumbs_text for element in breadcrumbs_text), \ "Text in breadcrumbs mismatches valid values" @allure.title("Verify text in group links on the page") def test_erw_02_03_verify_group_links_text(self, driver, exercises_ru_words_page_open): - page = ExercisesRuWordsPage(driver) + page = erwPage(driver) links_text = page.get_group_links_text() assert links_text, "Text in group links is absent" - assert all(text in ExRuWoPaData.group_links_text for text in links_text), \ + assert all(element in erwPD.group_links_text for element in links_text), \ "Text in group links mismatches valid values" @allure.title("Verify text in cards on the page") def test_erw_02_04_verify_subgroup_links_text(self, driver, exercises_ru_words_page_open): - page = ExercisesRuWordsPage(driver) + page = erwPage(driver) 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), \ + assert all(element in erwPD.subgroup_links_text for element in subgroup_links_text), \ "Text in subgroup links mismatches valid values" class TestExRuWordsPageLinks: @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) + page = erwPage(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 ExRuWoPaData.breadcrumbs_urls for href in breadcrumbs_links_href), \ + assert all(element in erwPD.breadcrumbs_urls for element in breadcrumbs_links_href), \ "Attributes 'href' of links in breadcrumbs mismatch valid values" - assert all(element in ExRuWoPaData.links_status_code for element in breadcrumbs_link_status_codes), \ + assert all(element in erwPD.links_status_code for element in breadcrumbs_link_status_codes), \ "Status codes of links in breadcrumbs mismatch valid values" @allure.title("Verify clickability, titles, attributes of group links on the page") def test_erw_03_02_verify_group_links(self, driver, exercises_ru_words_page_open): - page = ExercisesRuWordsPage(driver) + page = erwPage(driver) group_links_clickability = page.check_group_links_clickability() group_link_titles = page.get_group_link_titles() group_link_active_links = page.get_group_link_active_links() assert group_links_clickability, "Group links are unclickable" assert group_link_titles, "Group link titles values are empty" - assert all(element in ExRuWoPaData.group_link_titles for element in group_link_titles), \ + assert all(element in erwPD.group_link_titles for element in group_link_titles), \ "Group link titles mismatch valid values" 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), \ + assert all(element in erwPD.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, titles, href, status code of subgroup links on the page") def test_erw_03_03_verify_subgroup_links(self, driver, exercises_ru_words_page_open): - page = ExercisesRuWordsPage(driver) + page = erwPage(driver) subgroup_links_clickability = page.check_subgroup_links_clickability() subgroup_link_titles = page.get_subgroup_link_titles() subgroup_links_href = page.get_subgroup_links_href() subgroup_links_status_codes = page.get_subgroup_link_status_codes() assert subgroup_links_clickability, "Subgroup links are unclickable" assert subgroup_link_titles, "Subgroup link titles values are empty" - assert all(element in ExRuWoPaData.subgroup_link_titles for element in subgroup_link_titles), \ + assert all(element in erwPD.subgroup_link_titles for element in subgroup_link_titles), \ "Subgroup link titles mismatch valid values" - assert all(href in ExRuWoPaData.subgroup_link_urls for href in subgroup_links_href), \ + assert all(element in erwPD.subgroup_link_urls for element in subgroup_links_href), \ "Attributes 'href' of subgroup links mismatch valid values" - assert all(element in ExRuWoPaData.links_status_code for element in subgroup_links_status_codes), \ + assert all(element in erwPD.links_status_code for element in subgroup_links_status_codes), \ "Status codes of subgroup links mismatch valid values" @allure.title("Verify if breadcrumbs link1 leads to the correct page after clicking") def test_erw_03_04_01_verify_breadcrumbs_link1_leads_to_correct_page(self, driver, exercises_ru_words_page_open): - page = ExercisesRuWordsPage(driver) + page = erwPage(driver) opened_page1 = page.click_on_breadcrumbs_link1() assert opened_page1, "Transitions to pages have not performed" - assert opened_page1 in ExRuWoPaData.breadcrumbs_urls, "The link leads to an incorrect page after clicking" + assert opened_page1 in erwPD.breadcrumbs_urls, "The link leads to an incorrect page after clicking" @allure.title("Verify if breadcrumbs link2 leads to the correct page after clicking") def test_erw_03_04_02_verify_breadcrumbs_link2_leads_to_correct_page(self, driver, exercises_ru_words_page_open): - page = ExercisesRuWordsPage(driver) + page = erwPage(driver) opened_page2 = page.click_on_breadcrumbs_link2() assert opened_page2, "Transitions to pages have not performed" - assert opened_page2 in ExRuWoPaData.breadcrumbs_urls, "The link leads to an incorrect page after clicking" + assert opened_page2 in erwPD.breadcrumbs_urls, "The link leads to an incorrect page after clicking" @allure.title("Verify if breadcrumbs link3 leads to the correct page after clicking") def test_erw_03_04_03_verify_breadcrumbs_link3_leads_to_correct_page(self, driver, exercises_ru_words_page_open): - page = ExercisesRuWordsPage(driver) + page = erwPage(driver) opened_page3 = page.click_on_breadcrumbs_link3() assert opened_page3, "Transitions to pages have not performed" - assert opened_page3 in ExRuWoPaData.breadcrumbs_urls, "The link leads to an incorrect page after clicking" + assert opened_page3 in erwPD.breadcrumbs_urls, "The link leads to an incorrect page after clicking" @allure.title("Verify if group links lead to correct pages after clicking") def test_erw_03_05_verify_group_links_lead_to_correct_pages(self, driver, exercises_ru_words_page_open): - page = ExercisesRuWordsPage(driver) + page = erwPage(driver) opened_pages = page.click_on_group_links() assert opened_pages, "Transitions to pages have not performed" - assert all(page in ExRuWoPaData.group_link_urls for page in opened_pages), \ + assert all(element in erwPD.group_link_urls for element in opened_pages), \ "Some group links lead to incorrect pages after clicking" @allure.title("Verify if subgroup links 1-4 lead to correct pages after clicking") def test_erw_03_06_verify_subgroup_links_lead_to_correct_pages(self, driver, exercises_ru_words_page_open): - page = ExercisesRuWordsPage(driver) + page = erwPage(driver) opened_page1 = page.click_on_subgroup_link_family() opened_pages2_4 = page.click_on_subgroup_link_beloved_home_food_clothes() assert opened_page1, "Transition to the page has not performed" - assert opened_page1 in ExRuWoPaData.subgroup_link_urls, \ + assert opened_page1 in erwPD.subgroup_link_urls, \ "The first subgroup link leads to incorrect page after clicking" assert opened_pages2_4, "Transitions to pages have not performed" - assert all(page in ExRuWoPaData.subgroup_link_urls for page in opened_pages2_4), \ + assert all(element in erwPD.subgroup_link_urls for element in opened_pages2_4), \ "Some subgroup links lead to incorrect pages after clicking" class TestExRuWordsPageImages: @allure.title("Verify attributes of images in links on the page") def test_erw_04_01_verify_images_attributes(self, driver, exercises_ru_words_page_open): - page = ExercisesRuWordsPage(driver) + page = erwPage(driver) links_style = page.get_links_style() assert links_style, "The 'style' attribute value of links is empty" - assert all(element in ExRuWoPaData.subgroup_links_style for element in links_style), \ - "The 'style' attribute value of links do not match the valid values" + assert all(element in erwPD.subgroup_links_style for element in links_style), \ + "The 'style' attribute value of links mismatches valid values" @allure.title("Verify sizes of background-images in links on the page") def test_erw_04_02_verify_images_sizes(self, driver, exercises_ru_words_page_open): - page = ExercisesRuWordsPage(driver) + page = erwPage(driver) images_size = page.get_images_sizes() images_size_changed = page.check_size_changes_of_images() assert images_size != 0, "Background-images have not sizes" - assert len(images_size_changed) == len(ExRuWoPaData.subgroup_links_style), \ + assert len(images_size_changed) == len(erwPD.subgroup_links_style), \ "Not all images in links have changed sizes"