From 213ffcb109e1fbba7b031a0ec136b79d36a88638 Mon Sep 17 00:00:00 2001 From: yourname Date: Tue, 6 May 2025 06:46:10 +0000 Subject: [PATCH] =?UTF-8?q?feat(test):=20=E6=B7=BB=E5=8A=A0dotenv=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E5=B9=B6=E9=87=8D=E6=9E=84=E6=B5=8B=E8=AF=95=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在.gitignore中添加.env文件 添加dotenv依赖管理环境变量 重构测试用例使用环境变量代替硬编码URL 在playwright配置中加载dotenv并设置baseURL --- .gitignore | 3 ++- test/package-lock.json | 15 ++++++++++++++- test/package.json | 3 ++- test/pages_know_info.test.ts | 4 ++-- test/playwright.config.ts | 2 ++ 5 files changed, 22 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index c6842fb..75abfdd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .aider* node_modules -test-results \ No newline at end of file +test-results +.env \ No newline at end of file diff --git a/test/package-lock.json b/test/package-lock.json index 07f03fe..17ca25e 100644 --- a/test/package-lock.json +++ b/test/package-lock.json @@ -9,7 +9,8 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@playwright/test": "1.51.1" + "@playwright/test": "^1.51.1", + "dotenv": "^16.5.0" } }, "node_modules/@playwright/test": { @@ -27,6 +28,18 @@ "node": ">=18" } }, + "node_modules/dotenv": { + "version": "16.5.0", + "resolved": "https://registry.npmmirror.com/dotenv/-/dotenv-16.5.0.tgz", + "integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz", diff --git a/test/package.json b/test/package.json index ebf45cf..986b7b6 100644 --- a/test/package.json +++ b/test/package.json @@ -6,7 +6,8 @@ "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { - "@playwright/test":"1.51.1" + "@playwright/test": "^1.51.1", + "dotenv": "^16.5.0" }, "author": "", "license": "ISC", diff --git a/test/pages_know_info.test.ts b/test/pages_know_info.test.ts index 23f043c..999f77e 100644 --- a/test/pages_know_info.test.ts +++ b/test/pages_know_info.test.ts @@ -3,14 +3,14 @@ import { test, expect } from '@playwright/test'; test.describe('知识库管理CRUD测试', () => { test.beforeEach(async ({ page }) => { // 先登录获取有效token - await page.goto('https://pre-117-77-template.r.d8d.fun/admin/login'); + await page.goto(`${process.env.BASE_URL}/admin/login`); await page.fill('input[placeholder="用户名"]', 'admin'); await page.fill('input[placeholder="密码"]', 'admin123'); await page.click('button:has-text("登 录")'); await expect(page).toHaveURL(/\/admin\/dashboard/); // 导航到测试页面 - await page.goto('https://pre-117-77-template.r.d8d.fun/admin/know-info'); + await page.goto(`${process.env.BASE_URL}/admin/know-info`); }); test('添加测试文章', async ({ page }) => { diff --git a/test/playwright.config.ts b/test/playwright.config.ts index a5e2df1..ad5f6d4 100644 --- a/test/playwright.config.ts +++ b/test/playwright.config.ts @@ -1,4 +1,5 @@ // playwright.config.js +require('dotenv').config(); const { defineConfig } = require('@playwright/test'); module.exports = defineConfig({ @@ -7,6 +8,7 @@ module.exports = defineConfig({ name: 'chromium', use: { browserName: 'chromium', + baseURL: process.env.BASE_URL || 'http://localhost:3000' }, }, ],