diff --git a/tests/utils/BasePage.js b/tests/pages/BasePage.js similarity index 100% rename from tests/utils/BasePage.js rename to tests/pages/BasePage.js diff --git a/tests/pages/LongiLoginPage.js b/tests/pages/LongiLoginPage.js index 91b6174..c8ee6a6 100644 --- a/tests/pages/LongiLoginPage.js +++ b/tests/pages/LongiLoginPage.js @@ -1,8 +1,4 @@ -/** - * 龙蛟IBP系统登录页面对象模型 - */ -const BasePage = require('../utils/BasePage'); -const { getEnv } = require('../utils/env'); +const BasePage = require('./BasePage'); class LongiLoginPage extends BasePage { @@ -21,7 +17,7 @@ class LongiLoginPage extends BasePage { errorMessage: '.el-form-item__error, .el-form-item.is-error', // 错误消息 ssoLoginButton: 'button:has-text("SSO登录")' // SSO登录按钮 }; - + // 设置超时时间 this.timeout = 10000; } diff --git a/tests/pages/LongiMainPage.js b/tests/pages/LongiMainPage.js index 5df927f..cabb9db 100644 --- a/tests/pages/LongiMainPage.js +++ b/tests/pages/LongiMainPage.js @@ -1,7 +1,4 @@ -/** - * 龙蛟IBP系统主页面对象模型 - */ -const BasePage = require('../utils/BasePage'); +const BasePage = require('./BasePage'); const FileUtils = require('../utils/FileUtils'); class LongiMainPage extends BasePage { @@ -120,11 +117,11 @@ class LongiMainPage extends BasePage { */ async clickExpandMenu() { const toggleButton = this.page.locator(this.selectors.menuToggle).first(); - if (!await this.waitForElement(this.selectors.menuToggle, { returnBoolean: true, firstOnly: true })) { + if (!await this.waitForElement(this.selectors.menuToggle, {returnBoolean: true, firstOnly: true})) { console.log('菜单切换按钮不可见,尝试其他方法'); return; } - + await toggleButton.click(); console.log('已点击展开菜单'); } @@ -556,11 +553,11 @@ class LongiMainPage extends BasePage { * @returns {Promise} 页面是否加载成功 */ async waitForPageLoadWithRetry(menu, subMenuText = '') { - const pageName = this.getMenuPath(menu, { text: subMenuText }); + const pageName = this.getMenuPath(menu, {text: subMenuText}); console.log(`等待页面 ${pageName} 数据加载...`); let retryCount = 0; - const { maxRetries, retryInterval, stabilityDelay } = this.config.pageLoad; + const {maxRetries, retryInterval, stabilityDelay} = this.config.pageLoad; try { while (retryCount < maxRetries) { @@ -596,7 +593,7 @@ class LongiMainPage extends BasePage { */ async checkPageError(pageName) { const errorSelectors = [this.selectors.errorBox, this.selectors.errorMessage]; - + for (const selector of errorSelectors) { const elements = await this.page.locator(selector).all(); if (elements.length > 0) { @@ -605,7 +602,7 @@ class LongiMainPage extends BasePage { return true; } } - + return false; } @@ -616,7 +613,7 @@ class LongiMainPage extends BasePage { async closeActiveTab(pageName) { try { console.log(`🗑️ 正在关闭页面 "${pageName}" 的tab...`); - + const activeTab = this.page.locator(this.selectors.activeTab); const closeButton = activeTab.locator(this.selectors.closeButton); @@ -656,7 +653,7 @@ class LongiMainPage extends BasePage { elements.forEach(el => el.remove()); if (window.gc) window.gc(); }, this.selectors.temporaryElements); - + console.log(`🧹 执行内存回收${context ? ` - ${context}` : ''}`); } catch (error) { console.warn('执行内存回收时出错:', error.message); diff --git a/tests/utils/env.js b/tests/utils/env.js deleted file mode 100644 index 955cfe8..0000000 --- a/tests/utils/env.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * 环境变量工具类 - * 提供环境变量的读取和类型转换功能 - */ - -/** - * 获取环境变量值 - * @param {string} key 环境变量名 - * @param {string} defaultValue 默认值 - * @returns {string} 环境变量值或默认值 - */ -function getEnv(key, defaultValue = '') { - return process.env[key] || defaultValue; -} - -/** - * 获取布尔类型的环境变量值 - * @param {string} key 环境变量名 - * @param {boolean} defaultValue 默认值 - * @returns {boolean} 环境变量的布尔值 - */ -function getBoolEnv(key, defaultValue = false) { - const value = process.env[key]; - if (value === undefined) return defaultValue; - return value.toLowerCase() === 'true'; -} - -/** - * 获取数字类型的环境变量值 - * @param {string} key 环境变量名 - * @param {number} defaultValue 默认值 - * @returns {number} 环境变量的数字值 - */ -function getNumEnv(key, defaultValue = 0) { - const value = process.env[key]; - if (value === undefined) return defaultValue; - const num = Number(value); - return isNaN(num) ? defaultValue : num; -} - -module.exports = { - getEnv, - getBoolEnv, - getNumEnv -}; \ No newline at end of file