初始化
Some checks failed
Some checks failed
This commit is contained in:
72
frontend/tests/e2e/global-setup.js
Normal file
72
frontend/tests/e2e/global-setup.js
Normal file
@@ -0,0 +1,72 @@
|
||||
const { chromium } = require('@playwright/test')
|
||||
|
||||
async function globalSetup(config) {
|
||||
console.log('🚀 开始全局设置...')
|
||||
|
||||
// 获取浏览器实例
|
||||
const browser = await chromium.launch()
|
||||
const context = await browser.newContext()
|
||||
const page = await context.newPage()
|
||||
|
||||
try {
|
||||
// 设置测试数据
|
||||
await setupTestData(page)
|
||||
|
||||
// 设置用户认证
|
||||
await setupAuthentication(page)
|
||||
|
||||
// 设置测试环境变量
|
||||
await setupEnvironmentVariables()
|
||||
|
||||
console.log('✅ 全局设置完成')
|
||||
} catch (error) {
|
||||
console.error('❌ 全局设置失败:', error)
|
||||
throw error
|
||||
} finally {
|
||||
await context.close()
|
||||
await browser.close()
|
||||
}
|
||||
}
|
||||
|
||||
async function setupTestData(page) {
|
||||
console.log('📊 设置测试数据...')
|
||||
|
||||
// 这里可以设置测试数据,例如:
|
||||
// 1. 创建测试用户
|
||||
// 2. 准备测试产品数据
|
||||
// 3. 设置测试类别等
|
||||
|
||||
// 示例:通过API设置测试数据
|
||||
// await page.goto('/api/test/setup')
|
||||
// await page.waitForResponse(response => response.status() === 200)
|
||||
}
|
||||
|
||||
async function setupAuthentication(page) {
|
||||
console.log('🔐 设置用户认证...')
|
||||
|
||||
// 这里可以设置测试用户认证,例如:
|
||||
// 1. 创建测试用户
|
||||
// 2. 登录测试用户
|
||||
// 3. 保存认证令牌
|
||||
|
||||
// 示例:通过API登录
|
||||
// await page.goto('/api/auth/login')
|
||||
// await page.fill('[data-testid="username"]', 'testuser')
|
||||
// await page.fill('[data-testid="password"]', 'testpassword')
|
||||
// await page.click('[data-testid="login-button"]')
|
||||
// await page.waitForResponse(response => response.status() === 200)
|
||||
|
||||
// 保存认证状态
|
||||
// await context.storageState({ path: 'test-auth-state.json' })
|
||||
}
|
||||
|
||||
async function setupEnvironmentVariables() {
|
||||
console.log('🌍 设置环境变量...')
|
||||
|
||||
// 设置测试环境变量
|
||||
process.env.TEST_MODE = 'true'
|
||||
process.env.API_BASE_URL = 'http://localhost:7001/api'
|
||||
process.env.TEST_TIMEOUT = '30000'
|
||||
}
|
||||
|
||||
module.exports = globalSetup
|
||||
Reference in New Issue
Block a user