# pages package

## Submodules

## pages.base_page module

Базовый класс страницы для работы с Playwright.

Содержит общие методы для взаимодействия со страницей и API.

class BasePage(page)

  Базовые классы: `object`

  Базовый класс для работы со страницами через Playwright.

  Атрибуты:

    page (Page): Экземпляр страницы Playwright.

  Параметры:

    page (Page)

  __init__(page)

    Инициализирует базовую страницу.

    Параметры:

      page (Page) – Экземпляр страницы Playwright.

  current_url()

    Возвращает текущий URL страницы.

    Результат:

      Текущий URL страницы.

    Тип результата:

      str

  open(uri)

    Открывает указанный URI в браузере.

    Параметры:

      uri (str) – URI для открытия (без базового URL).

    Результат:

      Ответ сервера или None в случае ошибки.

    Тип результата:

      Response | None

  page_reload()

    Перезагружает текущую страницу.

    Тип результата:

      None

  wait_for_timeout(timeout)

    Ожидает указанное количество миллисекунд.

    Параметры:

      timeout (int) – Время ожидания в миллисекундах.

    Тип результата:

      None

  get_api_request_context()

    Возвращает контекст API-запросов.

    Результат:

      Контекст для выполнения API-запросов.

    Тип результата:

      APIRequestContext

  send_get_api_request(uri)

    Отправляет GET-запрос к API.

    Параметры:

      uri (str) – URI API-эндпоинта (без базового URL).

    Результат:

      Ответ сервера.

    Тип результата:

      Response

  send_post_api_request(uri, payload)

    Отправляет POST-запрос к API.

    Параметры:

      - uri (str)

      - payload (Dict)

    Тип результата:

      Response

  get_response_body(response)

    Извлекает тело ответа в format JSON.

    Параметры:

      response (Response) – Ответ сервера.

    Результат:

      Распарсенное тело ответа или None в случае ошибки.

    Тип результата:

      dict | list | None

  check_URL(uri, msg)

    Проверяет, что текущий URL соответствует ожидаемому.

    Параметры:

      - uri (str) – Ожидаемый URI (без базового URL).

      - msg (str) – Сообщение об ошибке при несоответствии.

    Исключение:

      AssertionError – Если URL не соответствует ожидаемому.

    Тип результата:

      None

  check_equals(actual, expected, msg)

    Проверяет равенство фактического и ожидаемого значений.

    Параметры:

      - actual (Any) – Фактическое значение.

      - expected (Any) – Ожидаемое значение.

      - msg (str) – Сообщение об ошибке при несоответствии.

    Исключение:

      AssertionError – Если значения не равны.

    Тип результата:

      None

  check_lists_equals(actual, expected, msg)

    Рекурсивно проверяет равенство двух списков.

    Параметры:

      - actual (list) – Фактический список.

      - expected (list) – Ожидаемый список.

      - msg (str) – Сообщение об ошибке при несоответствии.

    Исключение:

      AssertionError – Если списки не равны.

    Тип результата:

      None

## pages.current_session_tab module

Модуль вкладки „Сеансы/Текущие“.

Содержит класс CurrentSessionsTab для работы с таблицей сеансов. Позволяет проверять состояние и взаимодействовать с элементами вкладки.

class CurrentSessionsTab(page)

  Базовые классы: `BasePage`

  Класс для работы с вкладкой „Сеансы/Текущие“.

  Предоставляет методы для взаимодействия с таблицей сеансов и проверки её состояния.

  Параметры:

    page (Page) – Экземпляр страницы Playwright.

  __init__(page)

    Инициализирует компоненты вкладки „Сеансы/Текущие“.

    Параметры:

      page (Page)

    Тип результата:

      None

  get_rows_count()

    Возвращает количество строк в таблице (без заголовка).

    Результат:

      Количество строк с данными.

    Тип результата:

      int

    Исключение:

      AssertionError – Если таблица пуста.

  get_delete_session_button_from_row(row_index)

    Возвращает кнопку удаления сеанса для указанной строки.

    Параметры:

      row_index (int) – Индекс строки в таблице.

    Результат:

      Кнопка с подсказкой.

    Тип результата:

      TooltipButton

    Исключение:

      AssertionError – Если строка не найдена.

  get_session_token()

    Возвращает токен текущего пользователя.

    Args:

    Результат:

      Токен текущего пользователя

    Тип результата:

      str

    Raises:

  find_session_in_table(token)

    Ищет сеанс пользователя в таблице по выданному ему токену.

    Параметры:

      token (str) – Токен пользователя

    Результат:

      Индекс строки или -1 если не найден

    Тип результата:

      int

    Исключение:

      AssertionError – Если таблица пуста.

  delete_session_by_token(token)

    Удаляет сеанс по токену.

    Параметры:

      token (str) – Токен сеанс для удаления

    Исключение:

      AssertionError – Если сеанс не найден или удаление не удалось.

    Тип результата:

      None

  delete_session_by_index(row_index)

    Удаляет сеанс по индексу строки.

    Параметры:

      row_index (int) – Индекс строки в таблице

    Исключение:

      AssertionError – Если удаление не удалось.

    Тип результата:

      None

  scroll_sessions_table_up()

    Прокручивает таблицу сеансов вверх.

    Тип результата:

      None

  scroll_sessions_table_down()

    Прокручивает таблицу сеансов вниз.

    Тип результата:

      None

  check_delete_session_confirm_window()

    Проверяет контент и возможность горизонтального скроллинга окна подтверждения удаления сеанс.

  check_sessions_table_content(verify=False)

    Проверяет содержимое таблицы сеансов.

    Параметры:

      verify (bool) – Проверять соответствие данных из БД. По умолчанию False.

    Исключение:

      AssertionError – Если таблица пуста или заголовки неверны.

    Тип результата:

      None

  check_sessions_table_verticall_scrolling()

    Проверяет возможность вертикальной прокрутки таблицы.

    Результат:

      True если прокрутка возможна, иначе False.

    Тип результата:

      bool

  check_sessions_table_first_row_visibility()

    Проверяет видимость первой строки таблицы.

    Исключение:

      AssertionError – Если строка не видна.

    Тип результата:

      None

  check_sessions_table_last_row_visibility()

    Проверяет видимость последней строки таблицы.

    Исключение:

      AssertionError – Если строка не видна.

    Тип результата:

      None

  check_sessions_table_row_highlighting(row_index)

    Проверяет выделение указанной строки таблицы.

    Параметры:

      row_index (int) – Индекс проверяемой строки.

    Исключение:

      AssertionError – Если строка не выделена.

    Тип результата:

      None

  should_be_toolbar()

    Проверяет наличие тулбара на вкладке.

    Исключение:

      AssertionError – Если тулбар отсутствует.

    Тип результата:

      None

  should_be_sessions_table()

    Проверяет наличие таблицы сеансов.

    Исключение:

      AssertionError – Если таблица отсутствует.

    Тип результата:

      None

  should_be_delete_button_on_sessions_table_row(row_index, tooltip)

    Проверяет наличие кнопки удаления в строке таблицы.

    Параметры:

      - row_index (int) – Индекс проверяемой строки.

      - tooltip (str) – Ожидаемый текст подсказки.

    Исключение:

      AssertionError – Если кнопка отсутствует или подсказка неверна.

    Тип результата:

      None

  should_be_session_in_table(token)

    Проверяет наличие сеанса пользователя в таблице.

    Параметры:

      token (str) – Токен пользователя

    Исключение:

      AssertionError – Если сеанс не найден.

    Тип результата:

      None

  should_not_be_session_in_table(token)

    Проверяет отсутствие сеанса пользователя в таблице.

    Параметры:

      token (str) – Токен пользователя

    Исключение:

      AssertionError – Если сеанс найден.

    Тип результата:

      None

  verify_sessions_table_content(sessions_table)

    Сверяет данные таблицы с данными из БД.

    Параметры:

      sessions_table (list) – Данные из таблицы на странице.

    Исключение:

      AssertionError – Если данные не соответствуют.

    Тип результата:

      None

## pages.license_tab module

Модуль license_tab содержит класс для работы с вкладкой „Лицензии“.

Класс LicenseTab наследует BasePage и реализует методы для взаимодействия с элементами вкладки лицензий и проверки их состояния.

class LicenseTab(page)

  Базовые классы: `BasePage`

  Класс для работы с вкладкой „Лицензии“.

  Содержит методы для: - Взаимодействия с формой ввода лицензии - Проверки содержимого JSON-контейнера - Работы с элементами управления

  Параметры:

    page (Page)

  __init__(page)

    Инициализирует элементы вкладки „Лицензии“.

    Параметры:

      page (Page) – Экземпляр страницы Playwright

    Тип результата:

      None

  fill_license_input_form(value)

    Заполняет форму ввода лицензии указанным значением.

    Параметры:

      value (str) – Значение для ввода

    Тип результата:

      None

  scroll_json_container_up()

    Прокручивает JSON-контейнер вверх.

    Тип результата:

      None

  scroll_json_container_down()

    Прокручивает JSON-контейнер вниз.

    Тип результата:

      None

  check_json_container_verticall_scrolling()

    Проверяет возможность вертикальной прокрутки контейнера.

    Результат:

      Доступность прокрутки

    Тип результата:

      bool

  check_content()

    Проверяет наличие всех основных элементов вкладки.

    Тип результата:

      None

  should_be_error_alert_window_with_text(text)

    Проверяет наличие/отсутствие алерта с указанным текстом.

    Параметры:

      text (str) – Текст для проверки

    Тип результата:

      None

  should_be_toolbar()

    Проверяет наличие панели инструментов.

    Тип результата:

      None

  should_be_json_container()

    Проверяет наличие JSON-контейнера.

    Тип результата:

      None

  should_be_input_form_title()

    Проверяет заголовок формы и соответствие ID лицензии.

    Тип результата:

      None

  should_be_empty_input_form()

    Проверяет пустоту формы ввода лицензии.

    Тип результата:

      None

  should_be_update_button()

    Проверяет наличие кнопки обновления лицензии.

    Тип результата:

      None

  verify_json_container_content()

    Проверяет соответствие данных контейнера данным из API.

    Тип результата:

      None

## pages.login_page module

Модуль страницы авторизации.

Содержит класс LoginPage для работы с элементами страницы входа в систему. Использует Playwright для взаимодействия с UI и обработки ответов сервера.

class LoginPage(page)

  Базовые классы: `BasePage`

  Класс для работы со страницей авторизации.

  Атрибуты:

    page: Экземпляр страницы Playwright. login_input: Поле ввода логина. password_input: Поле ввода пароля. login_button: Кнопка входа. alert: Алерт окно с сообщением об ошибке.

  Параметры:

    page (Page)

  __init__(page)

    Инициализирует элементы страницы авторизации.

    Параметры:

      page (Page) – Экземпляр страницы Playwright.

    Тип результата:

      None

  click_password_hidden_icon()

    Нажатие на иконку скрытия пароля.

    Тип результата:

      None

  do_login(username=None, password=None)

    Выполняет вход в систему.

    Использует переданные учетные данные или значения из Constants. Обрабатывает ответ сервера для получения токена доступа.

    Параметры:

      - username (str) – Логин пользователя. По умолчанию из Constants.

      - password (str) – Пароль пользователя. По умолчанию из Constants.

    Исключение:

      AssertionError – Если после входа открылась неожиданная страница.

    Тип результата:

      None

  do_unsuccessful_login(username='someuser', password='password')

    Выполняет попытку входа с неверными учетными данными.

    Проверяет наличие сообщения об ошибке. Можно передать свои данные или использовать значения по умолчанию.

    Параметры:

      - username (str) – Неверный логин. По умолчанию «someuser».

      - password (str) – Неверный пароль. По умолчанию «password».

    Тип результата:

      None

  is_password_icon_hidden()

    Проверяет состояние иконки скрытия символов пароля. Возвращает True если пароль будет скрыт, иначе False

    Тип результата:

      bool

  is_password_hidden()

    Проверяет видимость символов пароля.

    Тип результата:

      bool

## pages.main_page module

Модуль главной страницы приложения.

Содержит класс MainPage для работы с элементами главной страницы. Включает взаимодействие с панелью навигации, кнопками и карточкой пользователя.

class MainPage(page)

  Базовые классы: `BasePage`

  Класс для работы с главной страницей приложения.

  Атрибуты:

    page: Экземпляр страницы Playwright. navigation_panel: Компонент панели навигации. user_button: Кнопка пользователя. user_card: Карточка пользователя.

  Параметры:

    page (Page)

  __init__(page)

    Инициализирует элементы главной страницы.

    Параметры:

      page (Page) – Экземпляр страницы Playwright.

    Тип результата:

      None

  click_events_panel_expand_less_button()

    Выполняет нажатие кнопки галочка вверх.

    Тип результата:

      None

  click_events_panel_expand_more_button()

    Выполняет нажатие кнопки галочка вниз.

    Тип результата:

      None

  click_events_panel_system_log_tab()

    Выполняет нажатие tab-кнопки Системный журнал.

    Тип результата:

      SystemLogEventsContainer

  click_main_navigation_panel_item(item_name)

    Кликает по элементу основной панели навигации.

    Параметры:

      item_name (str) – Название элемента для клика.

    Тип результата:

      None

  click_subpanel_item(item_name, parent=None)

    Выполняет рекурсивный поиск по панели навигации заданного элемента и делает клик по нему.

    Параметры:

      item_name (str)

    Тип результата:

      None

  click_user_button()

    Выполняет нажатие кнопки пользователя.

    Тип результата:

      UserCard

  do_logout()

    Выполняет выход из системы.

    Тип результата:

      None

  expand_navigation_subpanel()

    Выполняет полное открытие активной главной навигационной подпанели.

    Тип результата:

      None

  get_event_counters_by_buttons()

    Возвращает набор значений кнопок счетчиков событий.

    Тип результата:

      dict

  get_event_counters_by_tooltips()

    Возвращает набор текстов всплывающих подсказок кнопок счетчиков событий.

    Тип результата:

      dict

  get_events_panel_position()

    Возвращает текущее положение панели событий относительно страницы: «top», «center»,»bottom».

    Тип результата:

      str

  scroll_navigation_panel_down()

    Прокручивает панель навигации вниз.

    Тип результата:

      None

  scroll_navigation_panel_up()

    Прокручивает панель навигации вверх.

    Тип результата:

      None

  check_expand_less_button()

    Проверяет наличие кнопки галочка вверх.

    Тип результата:

      bool

  check_expand_more_button()

    Проверяет наличие кнопки галочка вниз.

    Тип результата:

      bool

  check_navigation_item_exists(item_name)

    Проверяет существование элемента в навигационной панели.

    Параметры:

      item_name (str) – Название элемента для проверки

    Результат:

      True если элемент существует, False если нет

    Тип результата:

      bool

  check_navigation_panel_item_visibility(item_name)

    Проверяет видимость элемента в панели навигации.

    Параметры:

      item_name (str) – Название элемента для проверки.

    Тип результата:

      None

  check_navigation_panel_verticall_scrolling()

    Проверяет возможность вертикальной прокрутки панели.

    Результат:

      True если прокрутка возможна, иначе False.

    Тип результата:

      bool

  should_be_event_panel()

    Проверяет наличие элементов панели событий.

    Тип результата:

      None

  should_be_navigation_panel()

    Проверяет наличие панели навигации.

    Тип результата:

      None

## pages.push_notifications_settings_tab module

Модуль вкладки настройки Push уведомлений.

Содержит класс PushNotificationsSettings для работы с вкладкой настройки Push уведомлений. Позволяет проверять состояние и взаимодействовать с элементами вкладки.

class PushNotificationsSettingsTab(page)

  Базовые классы: `BasePage`

  Класс для работы с вкладкой настройки Push уведомлений.

  Предоставляет методы для взаимодействия с вкладкой настройки Push уведомлений.

  Параметры:

    page (Page) – Экземпляр страницы Playwright.

  __init__(page)

    Инициализирует компоненты вкладки настройки Push уведомлений.

    Параметры:

      page (Page)

    Тип результата:

      None

  clear_users_setting_value()

    Очищает текущее значение поля настроек „Пользователи“.

    Тип результата:

      None

  click_submit_button()

    Нажатие кнопки „Отправить“ в форме ввода настроек.

    Тип результата:

      None

  get_message_setting_value()

    Возвращает текущее значение поля настроек „Сообщение“.

    Результат:

      Текущее значение поля настроек „Сообщение“.

    Тип результата:

      str

  get_users_setting_value()

    Возвращает текущее значение поля настроек „Пользователи“.

    Результат:

      Текущее значение поля настроек „Пользователи“.

    Тип результата:

      str

  input_message(text)

    Заполнение поля „Сообщение“.

    Параметры:

      text (str)

    Тип результата:

      None

  deselect_users(users)

    Изменение значения поля „Пользователи“ путем отмены выбора из выпадающего списка заданных имен.

    Параметры:

      users (list[str])

    Тип результата:

      None

  select_users(users)

    Заполнение поля „Пользователи“ путем выбора из выпадающего списка заданных имен.

    Параметры:

      users (list[str])

    Тип результата:

      None

  check_content()

    Проверяет наличие и корректность всех элементов страницы.

  should_be_toolbar()

    Проверяет наличие тулбара страницы.

    Исключение:

      AssertionError – Если тулбар или кнопка редактирования отсутствуют.

    Тип результата:

      None

  should_be_form_toolbar()

    Проверяет наличие тулбара формы редактирования настроек.

    Исключение:

      AssertionError – Если тулбар отсутствует.

    Тип результата:

      None

  should_be_success_alert()

    Проверяет наличие сообщения об успешной отправке push-уведомления.

    Исключение:

      AssertionError – Если тулбар отсутствует.

    Тип результата:

      None

## pages.service_status_tab module

Модуль вкладки „Статус обслуживания“.

Содержит класс ServiceStatusTab для работы с таблицей сервисов. Позволяет проверять состояние и взаимодействовать с элементами вкладки.

class ServiceStatusTab(page)

  Базовые классы: `BasePage`

  Класс для работы с вкладкой „Статус обслуживания“.

  Предоставляет методы для взаимодействия с таблицей сервисов и проверки её состояния.

  Параметры:

    page (Page) – Экземпляр страницы Playwright.

  __init__(page)

    Инициализирует компоненты вкладки „Статус обслуживания“.

    Параметры:

      page (Page)

    Тип результата:

      None

  get_rows_count()

    Возвращает количество строк в таблице (без заголовка).

    Результат:

      Количество строк с данными.

    Тип результата:

      int

    Исключение:

      AssertionError – Если таблица пуста.

  scroll_services_table_up()

    Прокручивает таблицу сервисов вверх.

    Тип результата:

      None

  scroll_services_table_down()

    Прокручивает таблицу сервисов вниз.

    Тип результата:

      None

  check_services_table_content()

    Проверяет содержимое таблицы сервисов.

    Проверяет заголовки и наличие данных в таблице.

    Исключение:

      AssertionError – Если таблица пуста или заголовки неверны.

    Тип результата:

      None

  check_services_table_verticall_scrolling()

    Проверяет возможность вертикальной прокрутки таблицы.

    Результат:

      True если прокрутка возможна, иначе False.

    Тип результата:

      bool

  check_services_table_first_row_visibility()

    Проверяет видимость первой строки таблицы.

    Исключение:

      AssertionError – Если строка не видна.

    Тип результата:

      None

  check_services_table_last_row_visibility()

    Проверяет видимость последней строки таблицы.

    Исключение:

      AssertionError – Если строка не видна.

    Тип результата:

      None

  check_services_table_row_highlighting(row_index)

    Проверяет выделение указанной строки таблицы.

    Параметры:

      row_index (int) – Индекс проверяемой строки.

    Исключение:

      AssertionError – Если строка не выделена.

    Тип результата:

      None

  should_be_toolbar()

    Проверяет наличие тулбара на вкладке.

    Исключение:

      AssertionError – Если тулбар отсутствует.

    Тип результата:

      None

  should_be_services_table()

    Проверяет наличие таблицы сервисов.

    Исключение:

      AssertionError – Если таблица отсутствует.

    Тип результата:

      None

## pages.session_settings_tab module

Модуль вкладки „Сеансы/Настройки“.

Содержит класс SessionSettingsTab для работы с полями настройки сессий пользователей.

class SessionSettingsTab(page)

  Базовые классы: `BasePage`

  Класс для работы с вкладкой „Сеансы/Настройки“.

  Предоставляет методы для взаимодействия с полями настройки сессий пользователей.

  Параметры:

    page (Page) – Экземпляр страницы Playwright.

  __init__(page)

    Инициализирует компоненты вкладки „Сеансы/Настройки“.

    Параметры:

      page (Page)

    Тип результата:

      None

  click_cancel_button()

    Нажатие кнопки „Отменить“ на тулбаре.

    Тип результата:

      None

  click_edit_button()

    Нажатие кнопки „Редактировать“ на тулбаре.

    Тип результата:

      None

  click_save_button()

    Нажатие кнопки „Сохранить“ на тулбаре.

    Тип результата:

      None

  decrease_setting_value(field_name)

    Уменьшение на единицу значения поля настройки с помощью стрелочки вниз.

    Параметры:

      field_name (str)

    Тип результата:

      None

  increase_setting_value(field_name)

    Увеличение на единицу значения поля настройки с помощью стрелочки вверх.

    Параметры:

      field_name (str)

    Тип результата:

      None

  get_field_by_name(field_name)

    Возвращает элемент поле ввода по его имени.

    Результат:

      Элемент поле ввода.

    Тип результата:

      TextInput

    Параметры:

      field_name (str)

  get_label_by_name(label_name)

    Возвращает элемент название поля ввода по его имени.

    Результат:

      Элемент название поле ввода.

    Тип результата:

      Text

    Параметры:

      label_name (str)

  get_setting_value(field_name)

    Возвращает текущее значение требуемого поля настроек.

    Результат:

      Текущее значение требуемого поля настроек.

    Тип результата:

      str

    Параметры:

      field_name (str)

  get_settings_values()

    Возвращает словарь с текущими значениями настроек времени жизни сессии.

    Результат:

      Cловарь с текущими значениями настроек времени жизни сессии.

    Тип результата:

      dict

  edit_settings(new_settings)

    Изменение текущих значений настроек времени жизни сессии.

    Параметры:

      new_settings (dict)

    Тип результата:

      None

  scroll_down()

    Скроллинг вниз формы настроек времени жизни сессии.

    Тип результата:

      None

  scroll_up()

    Скроллинг вверх формы настроек времени жизни сессии.

    Тип результата:

      None

  check_content()

    Проверяет наличие и корректность всех элементов формы.

  check_vertical_scrolling()

    Проверка возможности вертикального скроллинга формы настроек времени жизни сессии.

    Тип результата:

      bool

  should_be_toolbar()

    Проверяет наличие тулбара вкладки.

    Исключение:

      AssertionError – Если тулбар или кнопка редактирования отсутствуют.

    Тип результата:

      None

  should_be_toolbar_buttons()

    Проверяет наличие и функциональность кнопок тулбара.

    Исключение:

      AssertionError – Если кнопки недоступны или подсказки неверны.

    Тип результата:

      None

  should_be_form_toolbar()

    Проверяет наличие тулбара формы редактирования настроек.

    Исключение:

      AssertionError – Если тулбар отсутствует.

    Тип результата:

      None

  verify_form_data(session_settings)

    Проверяет соответствие содержимого полей формы данным из БД.

    Исключение:

      AssertionError – Если содержимое поля не соответствует данным из БД.

    Параметры:

      session_settings (dict)

    Тип результата:

      None

## pages.templates_tab module

Модуль вкладки „Шаблоны“.

Содержит класс TemplatesTab для работы с таблицей шаблонов. Позволяет проверять состояние и взаимодействовать с элементами вкладки.

class TemplatesTab(page)

  Базовые классы: `BasePage`

  Класс для работы с вкладкой „Шаблоны“.

  Предоставляет методы для взаимодействия с таблицей шаблонов и проверки её состояния.

  Параметры:

    page (Page) – Экземпляр страницы Playwright.

  __init__(page)

    Инициализирует компоненты вкладки „Шаблоны“.

    Параметры:

      page (Page)

    Тип результата:

      None

  add_modal_window(title)

    Добавляет модальное окно в коллекцию.

    Параметры:

      title (str) – Заголовок окна.

    Тип результата:

      None

  get_modal_window(title)

    Возвращает модальное окно по заголовку.

    Параметры:

      title (str) – Заголовок окна.

    Результат:

      Экземпляр модального окна.

    Тип результата:

      ViewTemplateModalWindow

    Исключение:

      AssertionError – Если окно не найдено.

  delete_modal_window(title)

    Удаляет модальное окно из коллекции.

    Параметры:

      title (str) – Заголовок окна.

    Исключение:

      AssertionError – Если окно не найдено.

    Тип результата:

      None

  open_template_modal_by_index(row_index=0)

    Открывает модальное окно шаблона по клику на строку таблицы.

    Параметры:

      row_index (int) – Индекс строки для клика (по умолчанию 0 - первая строка).

    Результат:

      Имя шаблона.

    Тип результата:

      str

  close_modal_window_by_toolbar_button(title)

    Закрывает модальное окно через кнопку в тулбаре.

    Параметры:

      title (str) – Заголовок окна.

    Тип результата:

      None

  get_rows_count()

    Возвращает количество строк в таблице (без заголовка).

    Результат:

      Количество строк с данными.

    Тип результата:

      int

    Исключение:

      AssertionError – Если таблица пуста.

  scroll_templates_table_up()

    Прокручивает таблицу шаблонов вверх.

    Тип результата:

      None

  scroll_templates_table_down()

    Прокручивает таблицу шаблонов вниз.

    Тип результата:

      None

  scroll_modal_up()

    Прокручивает содержимое модального окна вверх.

    Тип результата:

      None

  scroll_modal_down()

    Прокручивает содержимое модального окна вниз.

    Тип результата:

      None

  extract_specific_template(title, response_data)

    Извлекает структуру конкретного шаблона по title из данных API.

    Параметры:

      - title (str) – Имя шаблона для извлечения.

      - response_data (dict) – Данные ответа от API.

    Результат:

      Структура конкретного шаблона.

    Тип результата:

      dict

    Исключение:

      AssertionError – Если шаблон с указанным именем не найден или структура ответа некорректна.

  get_template_data_from_api(title)

    Получает данные шаблона из API.

    Параметры:

      title (str) – Имя шаблона.

    Результат:

      Данные шаблона из API.

    Тип результата:

      dict

  verify_json_container_content(title)

    Проверяет соответствие данных контейнера данным из API.

    Параметры:

      title (str) – Имя шаблона для проверки.

    Тип результата:

      None

  check_templates_modal_content(title)

    Проверяет наличие и корректность элементов модального окна шаблона.

    Параметры:

      title (str) – Имя шаблона для проверки заголовка окна.

    Исключение:

      AssertionError – Если элементы окна некорректны.

    Тип результата:

      None

  check_templates_table_content()

    Проверяет содержимое таблицы шаблонов.

    Проверяет заголовки и наличие данных в таблице.

    Исключение:

      AssertionError – Если таблица пуста или заголовки неверны.

    Тип результата:

      None

  check_templates_table_vertical_scrolling()

    Проверяет возможность вертикальной прокрутки таблицы.

    Результат:

      True если прокрутка возможна, иначе False.

    Тип результата:

      bool

  check_templates_table_first_row_visibility()

    Проверяет видимость первой строки таблицы.

    Исключение:

      AssertionError – Если строка не видна.

    Тип результата:

      None

  check_templates_table_last_row_visibility()

    Проверяет видимость последней строки таблицы.

    Исключение:

      AssertionError – Если строка не видна.

    Тип результата:

      None

  check_templates_table_row_highlighting(row_index)

    Проверяет выделение указанной строки таблицы.

    Параметры:

      row_index (int) – Индекс проверяемой строки.

    Исключение:

      AssertionError – Если строка не выделена.

    Тип результата:

      None

  should_be_toolbar()

    Проверяет наличие тулбара на вкладке.

    Исключение:

      AssertionError – Если тулбар отсутствует.

    Тип результата:

      None

  should_be_templates_table()

    Проверяет наличие таблицы шаблонов.

    Исключение:

      AssertionError – Если таблица отсутствует.

    Тип результата:

      None

  should_be_modal_window()

    Проверяет наличие модального окна.

    Исключение:

      AssertionError – Если модальное окно отсутствует.

    Тип результата:

      None

  should_not_be_modal_window()

    Проверяет, что модальное окно отсутствует.

    Исключение:

      AssertionError – Если модальное окно все еще видно.

    Тип результата:

      None

  check_modal_vertical_scrolling()

    Проверяет возможность вертикального скроллинга в модальном окне.

    Результат:

      True если скроллинг возможен, иначе False.

    Тип результата:

      bool

## pages.users_tab module

Модуль вкладки „Пользователи“.

Содержит класс UsersTab для работы с таблицей пользователей. Позволяет управлять пользователями через модальные окна и проверять их состояние.

class UsersTab(page)

  Базовые классы: `BasePage`

  Класс для работы с вкладкой „Пользователи“.

  Предоставляет методы для взаимодействия с таблицей пользователей, модальными окнами и проверки состояния элементов.

  Параметры:

    page (Page) – Экземпляр страницы Playwright.

  __init__(page)

    Инициализирует компоненты вкладки „Пользователи“.

    Параметры:

      page (Page)

    Тип результата:

      None

  add_modal_window(window_type, title)

    Добавляет модальное окно в коллекцию.

    Параметры:

      - window_type (str) – Тип окна („add_user“ или „edit_user“).

      - title (str) – Заголовок окна.

    Исключение:

      AssertionError – Если тип окна не поддерживается.

    Тип результата:

      None

  add_new_user(user_data)

    Добавляет нового пользователя или обрабатывает ошибку при дубликате.

    Параметры:

      user_data (dict) – Данные пользователя (name, role, password).

    Результат:

      True если пользователь успешно добавлен, False если пользователь уже существует.

    Тип результата:

      bool

    Исключение:

      AssertionError – Если открылось alert окно отличное от success или error, или если текст alert не соответствует ожидаемому.

  close_add_AD_user_window()

    Закрывает окно добавления пользователя.

    Тип результата:

      None

  close_add_AD_user_window_by_toolbar_button()

    Закрывает окно добавления пользователя через тулбар.

    Тип результата:

      None

  close_add_user_window()

    Закрывает окно добавления пользователя.

    Тип результата:

      None

  close_add_user_window_by_toolbar_button()

    Закрывает окно добавления пользователя через тулбар.

    Тип результата:

      None

  close_edit_user_window(title)

    Закрывает окно редактирования пользователя.

    Параметры:

      title (str) – Имя пользователя (заголовок окна).

    Тип результата:

      None

  close_edit_user_window_by_toolbar_button(title)

    Закрывает окно редактирования через кнопку в тулбаре.

    Параметры:

      title (str) – Имя пользователя (заголовок окна).

    Тип результата:

      None

  close_modal_window(title)

    Закрывает модальное окно через кнопку закрытия.

    Параметры:

      title (str) – Заголовок окна.

    Тип результата:

      None

  close_modal_window_by_toolbar_button(title)

    Закрывает модальное окно через кнопку в тулбаре.

    Параметры:

      title (str) – Заголовок окна.

    Тип результата:

      None

  delete_modal_window(title)

    Удаляет модальное окно из коллекции.

    Параметры:

      title (str) – Заголовок окна.

    Исключение:

      AssertionError – Если окно не найдено.

    Тип результата:

      None

  delete_user(user_name)

    Удаляет пользователя.

    Параметры:

      user_name (str) – Имя пользователя.

    Исключение:

      AssertionError – Если нет сообщения об успешном удалении.

    Тип результата:

      None

  edit_user(user_name, user_data)

    Редактирует данные пользователя.

    Параметры:

      - user_name (str) – Имя пользователя.

      - user_data (dict) – Новые данные пользователя.

    Исключение:

      AssertionError – Если нет сообщения об успешном обновлении.

    Тип результата:

      None

  find_user_in_table(name, role)

    Ищет пользователя в таблице.

    Параметры:

      - name (str) – Имя пользователя.

      - role (str) – Роль пользователя.

    Результат:

      Индекс строки или -1 если не найден.

    Тип результата:

      int

    Исключение:

      AssertionError – Если таблица пуста.

  get_modal_window(title)

    Возвращает модальное окно по заголовку.

    Параметры:

      title (str) – Заголовок окна.

    Результат:

      Экземпляр модального окна.

    Тип результата:

      ModalWindowComponent

    Исключение:

      AssertionError – Если окно не найдено.

  open_add_user_window()

    Открывает окно добавления пользователя.

    Исключение:

      AssertionError – Если кнопки недоступны или окно не открылось.

    Тип результата:

      None

  open_edit_user_page_by_index(row_index)

    Открывает окно редактирования по индексу строки.

    Параметры:

      row_index (int) – Индекс строки в таблице.

    Результат:

      (имя пользователя, роль).

    Тип результата:

      tuple

    Исключение:

      AssertionError – Если таблица пуста или индекс вне диапазона.

  open_edit_user_page_by_user(user_name, role)

    Открывает окно редактирования по имени и роли.

    Параметры:

      - user_name (str) – Имя пользователя.

      - role (str) – Роль пользователя.

    Исключение:

      AssertionError – Если пользователь не найден.

    Тип результата:

      None

  reset_password(user_name)

    Сбрасывает пароль пользователя.

    Параметры:

      user_name (str) – Имя пользователя.

    Результат:

      Новый пароль (если получен).

    Тип результата:

      str

  transform_to_add_AD_user_window()

    Трансформирует модальное окно добавления локального пользователя в окно добавления пользователя Active Directory с помощью нажатия чек-бокса Active Directory.

  transform_to_add_user_window()

    Трансформирует модальное окно добавления пользователя Active Directory в окно добавления локального пользователя с помощью снятия отметки с чек-бокса Active Directory.

  check_add_AD_user_window_content()

    Проверяет содержимое окна добавления пользователя через Active Directory.

    Тип результата:

      None

  check_add_user_window_content()

    Проверяет содержимое окна добавления локального пользователя.

    Тип результата:

      None

  check_edit_user_window_content(user_name, role)

    Проверяет содержимое окна редактирования.

    Параметры:

      - user_name (str) – Имя пользователя.

      - role (str) – Роль пользователя.

    Тип результата:

      None

  check_users_table_content(verify=False)

    Проверяет содержимое таблицы пользователей.

    Параметры:

      verify (bool) – Проверять соответствие данных из БД. По умолчанию False.

    Исключение:

      AssertionError – Если таблица пуста или заголовки неверны.

    Тип результата:

      None

  should_be_toolbar()

    Проверяет наличие тулбара.

    Исключение:

      AssertionError – Если тулбар или кнопка редактирования отсутствуют.

    Тип результата:

      None

  should_be_toolbar_buttons()

    Проверяет наличие и функциональность кнопок тулбара.

    Исключение:

      AssertionError – Если кнопки недоступны или подсказки неверны.

    Тип результата:

      None

  should_be_user_in_table(name, role)

    Проверяет наличие пользователя в таблице.

    Параметры:

      - name (str) – Имя пользователя.

      - role (str) – Роль пользователя.

    Исключение:

      AssertionError – Если пользователь не найден.

    Тип результата:

      None

  should_be_users_table()

    Проверяет наличие таблицы пользователей.

    Исключение:

      AssertionError – Если таблица отсутствует.

    Тип результата:

      None

  should_not_be_user_in_table(name, role)

    Проверяет отсутствие пользователя в таблице.

    Параметры:

      - name (str) – Имя пользователя.

      - role (str) – Роль пользователя.

    Исключение:

      AssertionError – Если пользователь найден.

    Тип результата:

      None

  verify_users_table_content(users_table)

    Сверяет данные таблицы с данными из БД.

    Параметры:

      users_table (list) – Данные из таблицы на странице.

    Исключение:

      AssertionError – Если данные не соответствуют.

    Тип результата:

      None

## pages.ztp_config_tab module

Модуль вкладки „Конфигурация“ в модуле Zero Touch Provisioning.

Содержит класс ZTPConfigTab для работы с таблицей конфигурации ZTP. Позволяет проверять состояние и взаимодействовать с элементами вкладки.

class ZTPConfigTab(page)

  Базовые классы: `BasePage`

  Класс для работы с вкладкой „Конфигурация“ в модуле Zero Touch Provisioning.

  Предоставляет методы для взаимодействия с таблицей конфигурации ZTP и проверки состояния элементов интерфейса. Включает функциональность для: - Проверки содержимого и структуры таблицы конфигурации - Прокрутки таблицы и проверки видимости строк - Выделения строк таблицы - Работы с кнопкой синхронизации (Reload) в заголовке таблицы - Проверки видимости и подсказок кнопок синхронизации

  Параметры:

    page (Page) – Экземпляр страницы Playwright.

  __init__(page)

    Инициализирует компоненты вкладки „Конфигурация“.

    Параметры:

      page (Page) – Экземпляр страницы Playwright для взаимодействия с браузером.

    Тип результата:

      None

  click_sync_button(index)

    Нажимает кнопку „Reload“ в указанной ячейке заголовка таблицы.

    Перед кликом проверяет наличие кнопки.

    Параметры:

      index (int) – Индекс ячейки в заголовке таблицы.

    Исключение:

      AssertionError – Если индекс выходит за пределы или кнопка не найдена.

    Тип результата:

      None

  get_rows_count()

    Возвращает количество строк в таблице конфигурации (без заголовка).

    Результат:

      Количество строк с данными конфигурации ZTP.

    Тип результата:

      int

    Исключение:

      AssertionError – Если таблица пуста или не загружена.

  scroll_config_table_up()

    Прокручивает таблицу конфигурации вверх до начала.

    Тип результата:

      None

  scroll_config_table_down()

    Прокручивает таблицу конфигурации вниз до конца.

    Тип результата:

      None

  check_config_table_content()

    Проверяет содержимое таблицы конфигурации ZTP.

    Проверяет соответствие заголовков таблицы ожидаемым значениям и наличие данных в таблице.

    Исключение:

      AssertionError – Если таблица пуста или заголовки не соответствуют ожидаемым.

    Тип результата:

      None

  check_sync_button_visibility(index)

    Проверяет видимость кнопки синхронизации (Reload) в указанной ячейке заголовка.

    Параметры:

      index (int) – Индекс ячейки в заголовке таблицы.

    Исключение:

      AssertionError – Если кнопка не видна на странице.

    Тип результата:

      None

  check_sync_button_tooltip(index, expected_tooltip='reload')

    Проверяет текст подсказки кнопки синхронизации (Reload).

    Использует стандартный механизм проверки подсказок из ToolbarComponent.

    Параметры:

      - index (int) – Индекс ячейки в заголовке таблицы.

      - expected_tooltip (str) – Ожидаемый текст подсказки (по умолчанию „reload“).

    Исключение:

      AssertionError – Если подсказка не соответствует ожидаемой или отсутствует.

    Тип результата:

      None

  check_config_table_vertical_scrolling()

    Проверяет возможность вертикальной прокрутки таблицы конфигурации.

    Результат:

      True если таблица поддерживает вертикальную прокрутку, иначе False.

    Тип результата:

      bool

  check_config_table_first_row_visibility()

    Проверяет видимость первой строки таблицы конфигурации.

    Исключение:

      AssertionError – Если первая строка таблицы не видна.

    Тип результата:

      None

  check_config_table_last_row_visibility()

    Проверяет видимость последней строки таблицы конфигурации.

    Исключение:

      AssertionError – Если последняя строка таблицы не видна.

    Тип результата:

      None

  check_config_table_row_highlighting(row_index)

    Проверяет выделение указанной строки таблицы конфигурации.

    Параметры:

      row_index (int) – Индекс проверяемой строки (0-based, без учета заголовка).

    Исключение:

      AssertionError – Если строка не выделена после взаимодействия.

    Тип результата:

      None

  should_be_toolbar()

    Проверяет наличие и видимость тулбара на вкладке конфигурации.

    Исключение:

      AssertionError – Если тулбар отсутствует на странице.

    Тип результата:

      None

  should_be_config_table()

    Проверяет наличие и видимость таблицы конфигурации ZTP.

    Исключение:

      AssertionError – Если таблица конфигурации отсутствует на странице.

    Тип результата:

      None

## pages.ztp_templates_tab module

Модуль вкладки „Шаблоны“ в модуле Zero Touch Provisioning.

Содержит класс ZTPTemplatesTab для работы с таблицей шаблонов. Позволяет проверять состояние и взаимодействовать с элементами вкладки.

class ZTPTemplatesTab(page)

  Базовые классы: `BasePage`

  Класс для работы с вкладкой „Шаблоны“ в модуле Zero Touch Provisioning.

  Предоставляет методы для взаимодействия с таблицей шаблонов, модальными окнами и проверки состояния элементов интерфейса. Включает функциональность для: - Работы с таблицей шаблонов (прокрутка, проверка строк, выделение) - Управления модальными окнами просмотра шаблонов - Сравнения данных UI с API ответами

  Параметры:

    page (Page) – Экземпляр страницы Playwright.

  __init__(page)

    Инициализирует компоненты вкладки „Шаблоны“.

    Параметры:

      page (Page)

    Тип результата:

      None

  add_modal_window(title)

    Добавляет модальное окно в коллекцию.

    Параметры:

      title (str) – Заголовок окна.

    Тип результата:

      None

  get_modal_window(title)

    Возвращает модальное окно по заголовку.

    Параметры:

      title (str) – Заголовок окна.

    Результат:

      Экземпляр модального окна шаблона.

    Тип результата:

      ViewZTPTemplateModalWindow

    Исключение:

      AssertionError – Если окно не найдено.

  delete_modal_window(title)

    Удаляет модальное окно из коллекции.

    Параметры:

      title (str) – Заголовок окна.

    Исключение:

      AssertionError – Если окно не найдено.

    Тип результата:

      None

  open_template_modal_by_index(row_index=0)

    Открывает модальное окно шаблона по клику на строку таблицы.

    Параметры:

      row_index (int) – Индекс строки для клика (по умолчанию 0 - первая строка).

    Результат:

      Имя шаблона.

    Тип результата:

      str

  close_modal_window_by_toolbar_button(title)

    Закрывает модальное окно через кнопку в тулбаре.

    Параметры:

      title (str) – Заголовок окна.

    Тип результата:

      None

  close_modal_window(title)

    Закрывает модальное окно через кнопку „Закрыть“.

    Параметры:

      title (str) – Заголовок окна.

    Тип результата:

      None

  get_rows_count()

    Возвращает количество строк в таблице (без заголовка).

    Результат:

      Количество строк с данными.

    Тип результата:

      int

    Исключение:

      AssertionError – Если таблица пуста.

  scroll_templates_table_up()

    Прокручивает таблицу шаблонов вверх.

    Тип результата:

      None

  scroll_templates_table_down()

    Прокручивает таблицу шаблонов вниз.

    Тип результата:

      None

  scroll_modal_up()

    Прокручивает содержимое модального окна вверх.

    Тип результата:

      None

  scroll_modal_down()

    Прокручивает содержимое модального окна вниз.

    Тип результата:

      None

  check_ztp_templates_modal_content(title)

    Проверяет наличие и корректность элементов модального окна шаблона.

    Параметры:

      title (str) – Имя шаблона для проверки заголовка окна.

    Исключение:

      AssertionError – Если элементы окна некорректны.

    Тип результата:

      None

  check_ztp_templates_table_content()

    Проверяет содержимое таблицы шаблонов.

    Проверяет заголовки и наличие данных в таблице.

    Исключение:

      AssertionError – Если таблица пуста или заголовки неверны.

    Тип результата:

      None

  check_templates_table_vertical_scrolling()

    Проверяет возможность вертикальной прокрутки таблицы.

    Результат:

      True если прокрутка возможна, иначе False.

    Тип результата:

      bool

  check_templates_table_first_row_visibility()

    Проверяет видимость первой строки таблицы.

    Исключение:

      AssertionError – Если строка не видна.

    Тип результата:

      None

  check_templates_table_last_row_visibility()

    Проверяет видимость последней строки таблицы.

    Исключение:

      AssertionError – Если строка не видна.

    Тип результата:

      None

  check_templates_table_row_highlighting(row_index)

    Проверяет выделение указанной строки таблицы.

    Параметры:

      row_index (int) – Индекс проверяемой строки.

    Исключение:

      AssertionError – Если строка не выделена.

    Тип результата:

      None

  should_be_toolbar()

    Проверяет наличие тулбара на вкладке.

    Исключение:

      AssertionError – Если тулбар отсутствует.

    Тип результата:

      None

  should_be_templates_table()

    Проверяет наличие таблицы шаблонов.

    Исключение:

      AssertionError – Если таблица отсутствует.

    Тип результата:

      None

  should_be_modal_window()

    Проверяет наличие модального окна.

    Исключение:

      AssertionError – Если модальное окно отсутствует.

    Тип результата:

      None

  should_not_be_modal_window()

    Проверяет, что модальное окно отсутствует.

    Исключение:

      AssertionError – Если модальное окно все еще видно.

    Тип результата:

      None

  check_modal_vertical_scrolling()

    Проверяет возможность вертикального скроллинга в модальном окне.

    Результат:

      True если скроллинг возможен, иначе False.

    Тип результата:

      bool

  verify_template_data_with_api(title)

    Проверяет соответствие данных модального окна данным из API.

    Процесс проверки: 1. Получает модальное окно по имени шаблона 2. Извлекает данные из полей ввода модального окна 3. Отправляет API запрос для получения эталонных данных шаблона 4. Сравнивает данные из UI с данными из API 5. Выбрасывает assertion при обнаружении расхождений

    Параметры:

      title (str) – Имя шаблона для проверки (должно совпадать с id в API).

    Исключение:

      AssertionError – Если: - Модальное окно не найдено - API запрос завершился с ошибкой (status != 200) - Обнаружены расхождения между данными UI и API - Имя шаблона в модальном окне не соответствует ожидаемому

    Тип результата:

      None

## Module contents

Package initialization.