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_similar_phrases_page_locators.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@

class ExercisesRuSimilarPhrasesPageLocators:
PAGE_CONTENT = (By.TAG_NAME, "main")
PAGE_FIRST_LEVEL_ELEMENTS = (By.XPATH, "//main/*")
11 changes: 11 additions & 0 deletions pages/exercises_ru_similar_phrases_page.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,14 @@ def check_presence_of_page_content(self):
@allure.step("Check if page content is visible on the page")
def check_visibility_of_page_content(self):
return self.element_is_visible(self.locators.PAGE_CONTENT)

@allure.step("Get structure of the 1st level of nesting on the page")
def get_structure_of_1st_level(self):
elements = self.elements_are_present(self.locators.PAGE_FIRST_LEVEL_ELEMENTS)
tags = [element.tag_name for element in elements]
print(*tags)
return elements

@allure.step("Check if elements of the 1st level of nesting are visible")
def check_elements_visibility_on_1st_level(self):
return all(element.is_displayed() for element in self.get_structure_of_1st_level())
5 changes: 3 additions & 2 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,15 @@
import pytest
from dotenv import load_dotenv

from locators.groups_page_locators import GroupsPageLocators
from locators.header_page_locators import HeaderUnauthorizedLocators
from locators.login_page_locators import LoginPageLocators
from locators.main_page_locators import MainPageLocators
from locators.start_unauthorized_page_locators import StartUnauthorizedPageLocators

from pages.base_page import BasePage
from pages.groups_page import GroupsPage
from pages.profile_page import ProfilePage

from test_data.links import MainPageLinks, ExercisesUrls

load_dotenv()
Expand Down Expand Up @@ -48,7 +49,7 @@ def description_page_open(driver):
@pytest.fixture()
@allure.step(f'Open page: {ExercisesUrls.STARTING_POINT}')
def exercises_ru_page_open(driver, auto_test_user_authorized):
page = BasePage(driver)
page = GroupsPage(driver)
page.element_is_present_and_clickable(HeaderUnauthorizedLocators.RU_BUTTON).click()


Expand Down
8 changes: 8 additions & 0 deletions tests/exercises_ru_similar_phrases_page_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,11 @@ def test_ersp_01_01_verify_page_presence_and_visibility(self, driver, exercises_
page_content_visibility = page.check_visibility_of_page_content()
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 level of nesting on the page")
def test_ersp_01_02_verify_page_structure_and_visibility(self, driver, exercises_ru_similar_phrases_page_open):
page = ExercisesRuSimilarPhrasesPage(driver)
structure_of_1st_level = page.get_structure_of_1st_level()
visibility_of_elements_on_1st_level = page.check_elements_visibility_on_1st_level()
assert structure_of_1st_level, "The page is empty"
assert visibility_of_elements_on_1st_level, "1th-level elements are invisible"