/** * HistoryPage - History列表页面的Page Object Model * 用于History界面的元素选择器和操作方法 */ class HistoryPage { /** * 获取表格 */ getTable() { return cy.get('table'); } /** * 点击指定索引的行 * @param index 行索引(从0开始) */ clickRowByIndex(index: number) { cy.get('table').within(() => { cy.get(`tbody tr[data-testid="row-${index}"]`) .scrollIntoView() .should('be.visible') .click({ force: true }); }); } /** * 验证指定行被选中(黄色高亮) * @param index 行索引(从0开始) */ verifyRowSelected(index: number) { cy.get('table').within(() => { cy.get(`tbody tr[data-testid="row-${index}"]`) .should('be.visible') .should('have.class', 'bg-yellow-500'); }); } /** * 点击删除按钮 */ clickDeleteButton() { cy.get('[data-testid="delete-button"]').click(); } /** * 获取删除确认对话框 */ getDeleteConfirmModal() { return cy.get('.ant-modal-confirm').should('be.visible'); } /** * 在对话框中确认删除 */ confirmDeleteInModal() { cy.get('[data-testid="modal-confirm-delete"]').click(); } /** * 在对话框中取消删除 */ cancelDeleteInModal() { cy.get('[data-testid="modal-cancel-delete"]').click(); } /** * 验证删除成功提示消息 */ verifyDeleteSuccessMessage() { cy.contains('删除成功').should('be.visible'); } /** * 验证删除警告消息 * @param expectedMessage 期望的警告消息文本 */ verifyDeleteWarningMessage(expectedMessage: string) { cy.contains(expectedMessage).should('be.visible'); } /** * 验证删除错误消息 */ verifyDeleteErrorMessage() { cy.contains('删除失败').should('be.visible'); } /** * 验证表格行数 * @param expectedCount 期望的行数 */ verifyRowCount(expectedCount: number) { cy.get('table tbody tr').should('have.length.at.least', expectedCount); } /** * 验证对话框不存在 */ verifyModalNotExist() { cy.get('.ant-modal-confirm').should('not.exist'); } } export default HistoryPage;