Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 19 additions & 15 deletions pages/exercises_ru_words_page.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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

Expand All @@ -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())
28 changes: 15 additions & 13 deletions test_data/exercises_ru_words_page_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
21 changes: 14 additions & 7 deletions tests/exercises_ru_words_page_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down Expand Up @@ -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")
Expand Down Expand Up @@ -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"
Loading