diff --git a/.env.dev b/.env.dev index 91badce..ab39936 100644 --- a/.env.dev +++ b/.env.dev @@ -1,24 +1,33 @@ # 基础配置 BASE_URL=https://ibp-dev.longi.com +# 登录配置 +IBP_USERNAME=admin +IBP_PASSWORD=123456 + # 测试配置 TEST_DATA_DIR=test-data TEST_BATCH_SIZE=5 TEST_RETRY_COUNT=3 -TEST_BATCH_INTERVAL=1000 -TEST_MAX_RETRY_DELAY=5000 +TEST_BATCH_INTERVAL=2000 +TEST_MAX_RETRY_DELAY=10000 # 超时配置 -MENU_TIME_OUT=30000 +MENU_TIME_OUT=60000 EXPECT_TIMEOUT=3600000 # 浏览器配置 BROWSER_HEADLESS=false -BROWSER_SLOW_MO=50 -BROWSER_TIMEOUT=30000 +BROWSER_SLOW_MO=100 +BROWSER_TIMEOUT=120000 VIEWPORT_WIDTH=1920 VIEWPORT_HEIGHT=1080 # 数据目录配置 MENU_DATA_FILE_PATH=test-data/menu-data.json -TEST_PROGRESS_FILE_PATH=test-data/test-progress.json \ No newline at end of file +TEST_PROGRESS_FILE_PATH=test-data/test-progress.json + +# 页面加载配置 +PAGE_LOAD_MAX_RETRIES=5 +PAGE_LOAD_RETRY_INTERVAL=3000 +PAGE_LOAD_STABILITY_DELAY=2000 \ No newline at end of file diff --git a/.env.uat b/.env.uat index bc164eb..e79dfd6 100644 --- a/.env.uat +++ b/.env.uat @@ -1,2 +1,31 @@ -# 基础URL -BASE_URL=https://ibp-uat.longi.com \ No newline at end of file +# 基础配置 +BASE_URL=https://ibp-test.longi.com/main/#/login?debug=ly +USERNAME=zidonghuatest +PASSWORD=Lianyu_123 + +# 测试配置 +TEST_DATA_DIR=test-data +TEST_BATCH_SIZE=5 +TEST_RETRY_COUNT=3 +TEST_BATCH_INTERVAL=1000 +TEST_MAX_RETRY_DELAY=5000 + +# 超时配置 +MENU_TIME_OUT=30000 +EXPECT_TIMEOUT=3600000 + +# 浏览器配置 +BROWSER_HEADLESS=false +BROWSER_SLOW_MO=50 +BROWSER_TIMEOUT=60000 +VIEWPORT_WIDTH=1920 +VIEWPORT_HEIGHT=1080 + +# 数据目录配置 +MENU_DATA_FILE_PATH=test-data/menu-data.json +TEST_PROGRESS_FILE_PATH=test-data/test-progress.json + +# 页面加载配置 +PAGE_LOAD_MAX_RETRIES=5 +PAGE_LOAD_RETRY_INTERVAL=2000 +PAGE_LOAD_STABILITY_DELAY=1000 \ No newline at end of file diff --git a/src/pages/LongiLoginPage.js b/src/pages/LongiLoginPage.js index 99a9b0f..e41e1b3 100644 --- a/src/pages/LongiLoginPage.js +++ b/src/pages/LongiLoginPage.js @@ -1,4 +1,8 @@ const BasePage = require('./BasePage'); +const dotenv = require('dotenv'); + +// 确保环境变量已加载 +dotenv.config({ path: '.env.dev' }); class LongiLoginPage extends BasePage { /** @@ -125,17 +129,22 @@ class LongiLoginPage extends BasePage { /** * 执行登录操作 - * @param {string} username 用户名 - * @param {string} password 密码 - * @param {string} captcha 验证码 + * @param {string} [username] - 用户名,默认使用配置的用户名 + * @param {string} [password] - 密码,默认使用配置的密码 * @returns {Promise} 登录是否成功 */ - async login(username, password, captcha) { + async login() { try { - await this.enterUsername(username); - await this.enterPassword(password); - await this.enterCaptcha(captcha); - + // 清空用户名输入框 + await this.page.locator(this.selectors.usernameInput).fill(''); + // 清空密码输入框 + await this.page.locator(this.selectors.passwordInput).fill(''); + + // 输入用户名和密码 + await this.enterUsername(process.env.IBP_USERNAME); + await this.enterPassword(process.env.IBP_PASSWORD); + + // 点击登录按钮并等待登录完成 if (await this.clickLoginButton()) { return await this.isLoginSuccessful(); } diff --git a/src/services/LongiTestService.js b/src/services/LongiTestService.js index 8970e80..003d749 100644 --- a/src/services/LongiTestService.js +++ b/src/services/LongiTestService.js @@ -59,8 +59,7 @@ class LongiTestService { async performLogin(page) { const loginPage = new LongiLoginPage(page); await loginPage.navigateToLoginPage(); - const loginSuccess = await loginPage.clickLoginButton(); - + const loginSuccess = await loginPage.login() if (!loginSuccess) { throw new Error('登录失败'); } @@ -150,23 +149,13 @@ class LongiTestService { try { browser = await chromium.launch(); page = await browser.newPage(); - // 登录 - const loginPage = new LongiLoginPage(page); - await loginPage.navigateToLoginPage(); - const loginSuccess = await loginPage.clickLoginButton(); - - if (!loginSuccess) { - throw new Error('登录失败,无法获取菜单数据'); - } - + await this.performLogin(page); // 获取菜单数据 const mainPage = new LongiMainPage(page); const menuItems = await mainPage.getMenuItems(); - // 保存数据 - await this.saveMenuData(menuItems); - + this.saveMenuData(menuItems); return menuItems; } catch (error) { console.error(`获取并保存菜单数据时出错: ${error}`); diff --git a/test-data/test-progress.json b/test-data/test-progress.json index 7eede7d..0637a08 100644 --- a/test-data/test-progress.json +++ b/test-data/test-progress.json @@ -1,7 +1 @@ -[ - 1, - 2, - 3, - 4, - 5 -] \ No newline at end of file +[] \ No newline at end of file