Files
it/frontend/tests/e2e/global-setup.js
XCool f25b0307db
Some checks failed
CI/CD Pipeline / 测试 (18.x) (push) Has been cancelled
CI/CD Pipeline / 测试 (20.x) (push) Has been cancelled
CI/CD Pipeline / 安全检查 (push) Has been cancelled
CI/CD Pipeline / 部署 (push) Has been cancelled
CI/CD Pipeline / 通知 (push) Has been cancelled
初始化
2025-11-03 19:47:36 +08:00

72 lines
2.0 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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