问题根本原因: - E2E测试访问生产环境URL (https://novalon.cn) - 应该测试代码库中的代码,而非生产环境 - CI环境需要启动本地服务器进行测试 修复方案: - 更新playwright.config.tiered.ts配置 - baseURL改为 http://localhost:3000 - 添加webServer配置,自动启动本地服务器 - 更新CI配置 - 添加BASE_URL环境变量 - 先构建项目(npm run build) - 然后运行E2E测试 验证: - E2E测试将测试本地构建的代码 - 不依赖生产环境 Ralph Loop #8 完成
This commit is contained in:
+6
-2
@@ -147,9 +147,13 @@ steps:
|
|||||||
environment:
|
environment:
|
||||||
NODE_ENV: test
|
NODE_ENV: test
|
||||||
CI: true
|
CI: true
|
||||||
|
BASE_URL: http://localhost:3000
|
||||||
commands:
|
commands:
|
||||||
- echo "E2E tests temporarily disabled - requires production environment access"
|
- npm ci
|
||||||
- echo "Skipping e2e-standard step to allow pipeline to pass"
|
- npm run build
|
||||||
|
- cd e2e && npm ci
|
||||||
|
- cd e2e && npx playwright install chromium --with-deps
|
||||||
|
- cd e2e && npm run test:standard
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ export default defineConfig({
|
|||||||
['list']
|
['list']
|
||||||
],
|
],
|
||||||
use: {
|
use: {
|
||||||
baseURL: process.env.BASE_URL || 'https://novalon.cn',
|
baseURL: process.env.BASE_URL || 'http://localhost:3000',
|
||||||
trace: 'on-first-retry',
|
trace: 'on-first-retry',
|
||||||
screenshot: 'only-on-failure',
|
screenshot: 'only-on-failure',
|
||||||
video: 'retain-on-failure',
|
video: 'retain-on-failure',
|
||||||
@@ -43,6 +43,12 @@ export default defineConfig({
|
|||||||
args: ['--disable-dev-shm-usage', '--no-sandbox']
|
args: ['--disable-dev-shm-usage', '--no-sandbox']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
webServer: process.env.CI ? {
|
||||||
|
command: 'npm run start',
|
||||||
|
port: 3000,
|
||||||
|
timeout: 120000,
|
||||||
|
reuseExistingServer: false,
|
||||||
|
} : undefined,
|
||||||
projects: [
|
projects: [
|
||||||
{
|
{
|
||||||
name: 'chromium',
|
name: 'chromium',
|
||||||
|
|||||||
Reference in New Issue
Block a user