优化文件路径

This commit is contained in:
dengqichen 2025-03-06 10:05:28 +08:00
parent 23020e7825
commit 25c56b2e14
4 changed files with 11 additions and 63 deletions

View File

@ -1,8 +1,4 @@
/** const BasePage = require('./BasePage');
* 龙蛟IBP系统登录页面对象模型
*/
const BasePage = require('../utils/BasePage');
const { getEnv } = require('../utils/env');
class LongiLoginPage extends BasePage { class LongiLoginPage extends BasePage {
@ -21,7 +17,7 @@ class LongiLoginPage extends BasePage {
errorMessage: '.el-form-item__error, .el-form-item.is-error', // 错误消息 errorMessage: '.el-form-item__error, .el-form-item.is-error', // 错误消息
ssoLoginButton: 'button:has-text("SSO登录")' // SSO登录按钮 ssoLoginButton: 'button:has-text("SSO登录")' // SSO登录按钮
}; };
// 设置超时时间 // 设置超时时间
this.timeout = 10000; this.timeout = 10000;
} }

View File

@ -1,7 +1,4 @@
/** const BasePage = require('./BasePage');
* 龙蛟IBP系统主页面对象模型
*/
const BasePage = require('../utils/BasePage');
const FileUtils = require('../utils/FileUtils'); const FileUtils = require('../utils/FileUtils');
class LongiMainPage extends BasePage { class LongiMainPage extends BasePage {
@ -120,11 +117,11 @@ class LongiMainPage extends BasePage {
*/ */
async clickExpandMenu() { async clickExpandMenu() {
const toggleButton = this.page.locator(this.selectors.menuToggle).first(); 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('菜单切换按钮不可见,尝试其他方法'); console.log('菜单切换按钮不可见,尝试其他方法');
return; return;
} }
await toggleButton.click(); await toggleButton.click();
console.log('已点击展开菜单'); console.log('已点击展开菜单');
} }
@ -556,11 +553,11 @@ class LongiMainPage extends BasePage {
* @returns {Promise<boolean>} 页面是否加载成功 * @returns {Promise<boolean>} 页面是否加载成功
*/ */
async waitForPageLoadWithRetry(menu, subMenuText = '') { async waitForPageLoadWithRetry(menu, subMenuText = '') {
const pageName = this.getMenuPath(menu, { text: subMenuText }); const pageName = this.getMenuPath(menu, {text: subMenuText});
console.log(`等待页面 ${pageName} 数据加载...`); console.log(`等待页面 ${pageName} 数据加载...`);
let retryCount = 0; let retryCount = 0;
const { maxRetries, retryInterval, stabilityDelay } = this.config.pageLoad; const {maxRetries, retryInterval, stabilityDelay} = this.config.pageLoad;
try { try {
while (retryCount < maxRetries) { while (retryCount < maxRetries) {
@ -596,7 +593,7 @@ class LongiMainPage extends BasePage {
*/ */
async checkPageError(pageName) { async checkPageError(pageName) {
const errorSelectors = [this.selectors.errorBox, this.selectors.errorMessage]; const errorSelectors = [this.selectors.errorBox, this.selectors.errorMessage];
for (const selector of errorSelectors) { for (const selector of errorSelectors) {
const elements = await this.page.locator(selector).all(); const elements = await this.page.locator(selector).all();
if (elements.length > 0) { if (elements.length > 0) {
@ -605,7 +602,7 @@ class LongiMainPage extends BasePage {
return true; return true;
} }
} }
return false; return false;
} }
@ -616,7 +613,7 @@ class LongiMainPage extends BasePage {
async closeActiveTab(pageName) { async closeActiveTab(pageName) {
try { try {
console.log(`🗑️ 正在关闭页面 "${pageName}" 的tab...`); console.log(`🗑️ 正在关闭页面 "${pageName}" 的tab...`);
const activeTab = this.page.locator(this.selectors.activeTab); const activeTab = this.page.locator(this.selectors.activeTab);
const closeButton = activeTab.locator(this.selectors.closeButton); const closeButton = activeTab.locator(this.selectors.closeButton);
@ -656,7 +653,7 @@ class LongiMainPage extends BasePage {
elements.forEach(el => el.remove()); elements.forEach(el => el.remove());
if (window.gc) window.gc(); if (window.gc) window.gc();
}, this.selectors.temporaryElements); }, this.selectors.temporaryElements);
console.log(`🧹 执行内存回收${context ? ` - ${context}` : ''}`); console.log(`🧹 执行内存回收${context ? ` - ${context}` : ''}`);
} catch (error) { } catch (error) {
console.warn('执行内存回收时出错:', error.message); console.warn('执行内存回收时出错:', error.message);

View File

@ -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
};