Актуализация теста вкладки Уведомления/Push уведомления после изменения UI

ra2/create_element_rack
nsubbot 2025-12-23 11:43:43 +03:00
parent 6e5eeaf4d6
commit cb1465ad7c
2 changed files with 18 additions and 15 deletions

View File

@ -8,7 +8,6 @@ import re
from playwright.sync_api import Page from playwright.sync_api import Page
from locators.settings_form_locators import SettingsFormLocators from locators.settings_form_locators import SettingsFormLocators
from elements.text_input_element import TextInput from elements.text_input_element import TextInput
from elements.text_element import Text
from components.toolbar_component import ToolbarComponent from components.toolbar_component import ToolbarComponent
from components.alert_component import AlertComponent from components.alert_component import AlertComponent
from components_derived.settings_form_component import SettingsFormComponent from components_derived.settings_form_component import SettingsFormComponent
@ -37,26 +36,24 @@ class PushNotificationsSettingsTab(BasePage):
self.settings_form = SettingsFormComponent(page) self.settings_form = SettingsFormComponent(page)
self.settings_form.add_toolbar_title("Общие") self.settings_form.add_toolbar_title("Общие")
message_setting_label = Text(page, css_class = "xs6"
page.locator(SettingsFormLocators.SETTTINGS_FORM_SCROLL_CONTAINER).\ container_locator = self.page.locator(SettingsFormLocators.SETTINGS_FORM_INPUT_FORM_CONTAINER)
get_by_text('Сообщение'), self.input_fields_locators = self.settings_form.get_input_fields_locators(container_locator, css_class)
"message_setting_label")
self.settings_form.add_content_item("message_setting_label", message_setting_label)
loc_message_input = page.locator(SettingsFormLocators.SETTTINGS_FORM_SCROLL_CONTAINER).\ loc = self.input_fields_locators.get("Сообщение")
get_by_label('Сообщение').nth(1) loc_message_input = loc.locator(SettingsFormLocators.SETTINGS_FORM_INPUT_FIELD).first
message_setting_input = TextInput(page, loc_message_input, "message_setting_input") message_setting_input = TextInput(page, loc_message_input, "message_setting_input")
self.settings_form.add_content_item("message_setting_input", message_setting_input) self.settings_form.add_content_item("message_setting_input", message_setting_input)
users_settings_locator = page.locator(SettingsFormLocators.SETTTINGS_FORM_SCROLL_CONTAINER).\
get_by_label('Пользователи')
users_setting_label = Text(page, users_settings_locator, "users_setting_label")
self.settings_form.add_content_item("users_setting_label", users_setting_label)
loc = self.input_fields_locators.get("Пользователи")
users_setting_input = TextInput(page, users_setting_input = TextInput(page,
page.locator(SettingsFormLocators.SETTTINGS_FORM_SCROLL_CONTAINER).\ loc. get_by_role("combobox"),
get_by_role("combobox"),
"users_setting_input") "users_setting_input")
# users_setting_input = TextInput(page,
# page.locator(SettingsFormLocators.SETTTINGS_FORM_SCROLL_CONTAINER).\
# get_by_role("combobox"),
# "users_setting_input")
self.settings_form.add_content_item("users_setting_input", users_setting_input) self.settings_form.add_content_item("users_setting_input", users_setting_input)
self.settings_form.add_content_item("users_list", InteractiveDropdownList(page)) self.settings_form.add_content_item("users_list", InteractiveDropdownList(page))
@ -143,10 +140,16 @@ class PushNotificationsSettingsTab(BasePage):
def check_content(self): def check_content(self):
"""Проверяет наличие и корректность всех элементов страницы.""" """Проверяет наличие и корректность всех элементов страницы."""
expected_input_field_names = ["Сообщение", "Пользователи"]
self.should_be_toolbar() self.should_be_toolbar()
self.should_be_form_toolbar() self.should_be_form_toolbar()
actual_input_field_names = self.input_fields_locators.keys()
assert set(actual_input_field_names) == set(expected_input_field_names), \
f"Misscomparison input field names: Expected {expected_input_field_names}, Actual {actual_input_field_names}"
for name in self.settings_form.content_items.keys(): for name in self.settings_form.content_items.keys():
if name == "users_list": if name == "users_list":
self.settings_form.get_content_item("users_setting_input").click() self.settings_form.get_content_item("users_setting_input").click()