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
1 change: 1 addition & 0 deletions locators/exercises_ru_words_family_page_locators.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ class ExercisesRuWordsFamilyPageLocators:
PAGE_SECOND_LEVEL_ELEMENTS = (By.XPATH, "//main/*/*")
PAGE_THIRD_LEVEL_ELEMENTS = (By.XPATH, "//main/*/*/*")
PAGE_FOURTH_LEVEL_ELEMENTS = (By.XPATH, "//main/*/*/*/*")
PAGE_FIFTH_LEVEL_ELEMENTS = (By.XPATH, "//main/*/*/*/*/*")
11 changes: 10 additions & 1 deletion pages/exercises_ru_words_family_page.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
"""Methods for verifying web elements on the exercises subgroup "Family" page
in the series "Words" on the "ru" local"""

import allure
from pages.base_page import BasePage
from locators.exercises_ru_words_family_page_locators import ExercisesRuWordsFamilyPageLocators
Expand Down Expand Up @@ -43,7 +44,15 @@ def check_elements_visibility_on_3rd_level(self):

@allure.step("Get structure of the 4th level of nesting on the page")
def get_structure_of_4th_level(self):
elements = self.elements_are_present(self.locators.PAGE_FOURTH_LEVEL_ELEMENTS)
return self.elements_are_present(self.locators.PAGE_FOURTH_LEVEL_ELEMENTS)

@allure.step("Check if elements of the 4th level of nesting are visible")
def check_elements_visibility_on_4th_level(self):
return all(element.is_displayed() for element in self.get_structure_of_4th_level())

@allure.step("Get structure of the 5th level of nesting on the page")
def get_structure_of_5th_level(self):
elements = self.elements_are_present(self.locators.PAGE_FIFTH_LEVEL_ELEMENTS)
tags = [element.tag_name for element in elements]
print(*tags, sep='\n')
return elements
4 changes: 3 additions & 1 deletion tests/exercises_ru_words_family_page_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def test_erwf_01_01_verify_page_presence_and_visibility(self, driver, exercises_
assert page_content_presence, "The page content is absent in DOM"
assert page_content_visibility, "The page content is invisible"

@allure.title("Verify composition, visibility of elements on the 1st-4th levels of nesting on the page")
@allure.title("Verify composition, visibility of elements on the 1st-5th levels of nesting on the page")
def test_erwf_01_02_verify_page_structure_and_visibility(self, driver, exercises_ru_words_family_page_open):
page = erwfPage(driver)
structure_of_1st_level = page.get_structure_of_1st_level()
Expand All @@ -25,10 +25,12 @@ def test_erwf_01_02_verify_page_structure_and_visibility(self, driver, exercises
structure_of_3rd_level = page.get_structure_of_3rd_level()
visibility_of_elements_on_3rd_level = page.check_elements_visibility_on_3rd_level()
structure_of_4th_level = page.get_structure_of_4th_level()
structure_of_5th_level = page.get_structure_of_5th_level()
assert structure_of_1st_level, "The page is empty"
assert visibility_of_elements_on_1st_level, "1th-level elements are invisible"
assert structure_of_2nd_level, "Elements on the 2nd level are absent on the page"
assert visibility_of_elements_on_2nd_level, "2nd-level elements are invisible"
assert structure_of_3rd_level, "Elements on the 3rd level are absent on the page"
assert visibility_of_elements_on_3rd_level, "3rd-level elements are invisible"
assert structure_of_4th_level, "Elements on the 4th level are absent on the page"
assert structure_of_5th_level, "Elements on the 5th level are absent on the page"
Loading