Добавлен тест пагинации для панели отображения событий системного журнала
parent
e505534a1e
commit
93005b6cfe
|
|
@ -1,10 +1,10 @@
|
|||
"""Модуль компонента контейнера с перечнем событий. Содержит класс для работы с контейнерами,
|
||||
их элементами и проверками."""
|
||||
|
||||
from datetime import datetime
|
||||
from playwright.sync_api import Page, Locator
|
||||
from tools.logger import get_logger
|
||||
from locators.toolbar_locators import ToolbarLocators
|
||||
# from locators.table_locators import TableLocators
|
||||
from elements.tooltip_button_element import TooltipButton
|
||||
from elements.tab_button_element import TabButton
|
||||
from elements.button_element import Button
|
||||
|
|
@ -74,7 +74,7 @@ class EventsContainerComponent(BaseComponent):
|
|||
|
||||
self.chevron_right.click()
|
||||
|
||||
def click_event_table_header_arrow(self, index) -> None:
|
||||
def click_event_table_header_arrow(self, index: int) -> None:
|
||||
""" Нажатие кнопки-стрелочки вверх/вниз в ячейке заголовка таблицы
|
||||
|
||||
Args:
|
||||
|
|
@ -83,6 +83,15 @@ class EventsContainerComponent(BaseComponent):
|
|||
loc = self.container_locator.locator(self.table_locator)
|
||||
self.events_table.click_arrow_button(loc, index)
|
||||
|
||||
def datetime2timestamp(self, date_string: str) -> float:
|
||||
""" Конвертация строкового представления даты и времени в Unix timestamp """
|
||||
|
||||
# Формат, соответствующий строке с датой и временем
|
||||
format_string = "%d.%m.%Y %H:%M:%S"
|
||||
|
||||
date_object = datetime.strptime(date_string, format_string)
|
||||
return date_object.timestamp()
|
||||
|
||||
def get_current_data_set_number(self) -> int:
|
||||
"""Получение номера текущего набора данных"""
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
контейнера для отображения событий системного журнала.
|
||||
"""
|
||||
|
||||
# import pytest
|
||||
import pytest
|
||||
from playwright.sync_api import Page
|
||||
from pages.main_page import MainPage
|
||||
from pages.login_page import LoginPage
|
||||
|
|
@ -128,7 +128,6 @@ class TestSystemLogEventsContainer:
|
|||
# Проверка видимости первой строки после прокрутки
|
||||
system_log_events_container.check_events_table_first_row_visibility()
|
||||
|
||||
# @pytest.mark.develop
|
||||
def test_events_table_column_sorting(self, browser: Page):
|
||||
"""Проверяет сортировку колонки 'Время' в таблице событий.
|
||||
|
||||
|
|
@ -162,3 +161,70 @@ class TestSystemLogEventsContainer:
|
|||
assert state == "down", "Arrow button should be down"
|
||||
is_descending_order = system_log_events_container.check_events_table_column_descending_order(index)
|
||||
assert is_descending_order, "Column data should be in descending order"
|
||||
|
||||
@pytest.mark.develop
|
||||
def test_events_table_pagination(self, browser: Page):
|
||||
"""Проверяет возможность пагинации таблицы событий.
|
||||
|
||||
Args:
|
||||
browser: Экземпляр страницы Playwright.
|
||||
"""
|
||||
|
||||
lp = LoginPage(browser)
|
||||
lp.do_login()
|
||||
|
||||
mp = MainPage(browser)
|
||||
mp.should_be_event_panel()
|
||||
|
||||
system_log_events_container = mp.click_events_panel_system_log_tab()
|
||||
|
||||
system_log_events_container.should_be_pagination_buttons()
|
||||
|
||||
# Проверка начального состояния
|
||||
is_chevron_left_disabled = system_log_events_container.is_chevron_left_disabled()
|
||||
assert is_chevron_left_disabled, "Arrow Left button should be disabled"
|
||||
|
||||
is_chevron_right_disabled = system_log_events_container.is_chevron_right_disabled()
|
||||
assert not is_chevron_right_disabled, "Arrow Right button should be enabled"
|
||||
|
||||
current_number = system_log_events_container.get_current_data_set_number()
|
||||
assert current_number == 1, "The first page should be number one"
|
||||
|
||||
# загрузка страниц от начала и до конца
|
||||
# to_do: проверка, что происходит обновление содержимого таблицы
|
||||
counter = 1
|
||||
while not is_chevron_right_disabled:
|
||||
system_log_events_container.click_chevron_right()
|
||||
counter += 1
|
||||
|
||||
is_chevron_left_disabled = system_log_events_container.is_chevron_left_disabled()
|
||||
assert not is_chevron_left_disabled, "Arrow Left button should be enabled"
|
||||
|
||||
is_chevron_right_disabled = system_log_events_container.is_chevron_right_disabled()
|
||||
|
||||
current_number = system_log_events_container.get_current_data_set_number()
|
||||
assert current_number == counter, f"Expected page number {counter} is not equal actual {current_number}"
|
||||
|
||||
# загрузка страниц от конца к началу
|
||||
# to_do: проверка, что происходит обновление содержимого таблицы
|
||||
while not is_chevron_left_disabled:
|
||||
system_log_events_container.click_chevron_left()
|
||||
counter -= 1
|
||||
|
||||
is_chevron_left_disabled = system_log_events_container.is_chevron_left_disabled()
|
||||
|
||||
is_chevron_right_disabled = system_log_events_container.is_chevron_right_disabled()
|
||||
assert not is_chevron_right_disabled, "Arrow Right button should be enabled"
|
||||
|
||||
current_number = system_log_events_container.get_current_data_set_number()
|
||||
assert current_number == counter, f"Expected page number {counter} is not equal actual {current_number}"
|
||||
|
||||
# Проверка возврата к начальному состоянию
|
||||
is_chevron_left_disabled = system_log_events_container.is_chevron_left_disabled()
|
||||
assert is_chevron_left_disabled, "Arrow Left button should be disabled"
|
||||
|
||||
is_chevron_right_disabled = system_log_events_container.is_chevron_right_disabled()
|
||||
assert not is_chevron_right_disabled, "Arrow Right button should be enabled"
|
||||
|
||||
current_number = system_log_events_container.get_current_data_set_number()
|
||||
assert current_number == 1, "The first page should be number one"
|
||||
|
|
|
|||
Loading…
Reference in New Issue