import {beforeSetup, clickMenu} from './utils'; describe('page tab', function () { beforeEach(function () { beforeSetup(); }); function validateTabLength(length: number) { cy.getTestId('tab_list') .find('.ant-tabs-nav') .find('.ant-tabs-nav-wrap') .find('.ant-tabs-tab') .should('have.length', length); } function validateTabActiveText(text: string) { cy.getTestId('tab_list') .find('.ant-tabs-tab-active') .children('div') .should('have.text', text); } function clickTab(eq: number, contextMenu = false) { const el = cy .getTestId('tab_list') .find('.ant-tabs-nav-list') .children('span') .eq(eq); contextMenu ? el.trigger('contextmenu') : el.find('.ant-tabs-tab').click(); } it('tab', function () { validateTabLength(1); // 判断新增是否正确 clickMenu('基础资料', '容器管理'); validateTabActiveText('容器管理'); clickMenu('系统设置', '角色管理'); validateTabActiveText('角色管理'); clickMenu('系统设置', '菜单管理'); validateTabActiveText('菜单管理'); validateTabLength(4); // 删除当前标签 clickTab(1); clickTab(1, true); cy.getTestId('remove').click(); validateTabLength(3); validateTabActiveText('首页'); // 删除非当前标签 clickTab(2); clickTab(1, true); cy.getTestId('remove').click(); validateTabLength(2); validateTabActiveText('菜单管理'); clickMenu('基础资料', '容器管理'); clickMenu('系统设置', '角色管理'); clickMenu('系统设置', 'PDA菜单管理'); // 除此之外关闭 clickTab(3, true); cy.getTestId('remove_other').click(); validateTabLength(2); validateTabActiveText('角色管理'); clickMenu('基础资料', '容器管理'); clickMenu('系统设置', '菜单管理'); clickMenu('系统设置', 'PDA菜单管理'); // 关闭右侧 移除包含自己 clickTab(2, true); cy.getTestId('remove_right').click(); validateTabLength(3); validateTabActiveText('容器管理'); clickMenu('系统设置', '菜单管理'); clickMenu('系统设置', 'PDA菜单管理'); // 关闭右侧 不移除自己 clickTab(1); clickTab(2, true); cy.getTestId('remove_right').click(); validateTabLength(3); validateTabActiveText('角色管理'); clickMenu('系统设置', '菜单管理'); clickMenu('系统设置', 'PDA菜单管理'); // 清除所有 clickTab(1, true); cy.getTestId('clear').click(); validateTabLength(1); validateTabActiveText('首页'); }); });