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
3 changes: 2 additions & 1 deletion locators/exercises_ru_similar_phrases_page_locators.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
"""Locators of web elements on the 'Exercises "Similar phrases"' page on the 'ru' local"""
from selenium.webdriver.common.by import By


class ExercisesRuSimilarPhrasesPageLocators:
pass
PAGE_CONTENT = (By.TAG_NAME, "main")
1 change: 1 addition & 0 deletions locators/exercises_ru_words_page_locators.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class ExercisesRuWordsPageLocators:
PAGE_LIST1_2 = (By.XPATH, '(//ul[@aria-label="Breadcrumbs"]//a)[2]')
PAGE_LIST1_3 = (By.XPATH, '(//ul[@aria-label="Breadcrumbs"]//a)[3]')
PAGE_LIST2 = (By.XPATH, "//aside//button")
PAGE_LIST2_3 = (By.XPATH, "(//aside//button)[3]")
PAGE_LIST3 = (By.XPATH, '//div[contains(@class, "series-page")]//a')
PAGE_LIST3_1 = (By.XPATH, '(//div[contains(@class, "series-page")]//a)[1]')
PAGE_LIST3_2 = (By.XPATH, '(//div[contains(@class, "series-page")]//a)[2]')
Expand Down
10 changes: 10 additions & 0 deletions pages/exercises_ru_similar_phrases_page.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
"""Methods for verifying web elements on the 'Exercises "Similar phrases"' page on the 'ru' local"""
import allure
from pages.base_page import BasePage
from locators.exercises_ru_similar_phrases_page_locators import ExercisesRuSimilarPhrasesPageLocators


class ExercisesRuSimilarPhrasesPage(BasePage):
locators = ExercisesRuSimilarPhrasesPageLocators

# Checking the structure and display of elements on the page
@allure.step("Check if some content is present in DOM")
def check_presence_of_page_content(self):
return self.element_is_present(self.locators.PAGE_CONTENT)

@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)
3 changes: 3 additions & 0 deletions test_data/links.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ class MainPageLinks:
class ExercisesUrls:
STARTING_POINT = MainPageLinks.URL_GROUPS_PAGE

# Speech Exercises RU > Words
URL_EXERCISES_RU_SIMILAR_PHRASES_PAGE = f"{STARTING_POINT}/2/series/2"

# Speech Exercises RU > Words
URL_EXERCISES_RU_WORDS_PAGE = f"{STARTING_POINT}/2/series/1"

Expand Down
9 changes: 9 additions & 0 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import pytest
from dotenv import load_dotenv

from locators.exercises_ru_words_page_locators import ExercisesRuWordsPageLocators
from locators.groups_page_locators import GroupsPageLocators
from locators.header_page_locators import HeaderUnauthorizedLocators
from locators.login_page_locators import LoginPageLocators
Expand Down Expand Up @@ -45,6 +46,14 @@ def description_page_open(driver):
driver.get(MainPageLinks.URL_DESCRIPTION_PAGE)


@pytest.fixture()
@allure.step(f'Open page: {ExercisesUrls.URL_EXERCISES_RU_SIMILAR_PHRASES_PAGE}')
def exercises_ru_similar_phrases_page_open(driver, exercises_ru_words_page_open):
page = BasePage(driver)
page.element_is_present_and_clickable(ExercisesRuWordsPageLocators.PAGE_LIST2_3).click()
time.sleep(3)


@pytest.fixture()
@allure.step(f'Open page: {ExercisesUrls.URL_EXERCISES_RU_WORDS_PAGE}')
def exercises_ru_words_page_open(driver, main_page_open):
Expand Down
9 changes: 8 additions & 1 deletion tests/exercises_ru_similar_phrases_page_test.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
"""Auto tests for verifying web elements on the 'Exercises "Similar phrases"' page on the 'ru' local"""
import allure
from pages.exercises_ru_similar_phrases_page import ExercisesRuSimilarPhrasesPage


@allure.epic("The Exercises 'Similar phrases' Page on the 'ru' local")
class TestExercisesRuSimilarPhrasesPage:
class TestExercisesRuSimilarPhrasesPageStructure:
pass
@allure.title("Verify presence and visibility of content on the page")
def test_ersp_01_01_verify_page_presence_and_visibility(self, driver, exercises_ru_similar_phrases_page_open):
page = ExercisesRuSimilarPhrasesPage(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"
assert page_content_visibility, "The page content is invisible"