主要变更: - 新增 Playwright 登录认证服务 (services/playwright-auth.ts) - 重构 get-activity.ts 使用 Playwright 替代 Axios 登录 - 实现自动 cookie 过期检测和重试机制 - 优化 Docker 配置支持 Playwright 浏览器运行 - 添加启动脚本自动验证和刷新 cookies - 完善错误处理:区分 4xx(认证失败) 和 5xx(服务器错误) 技术细节: - 删除旧版 login_template.txt 和 nkcs-engage.cookie.txt - 添加 startup.sh 启动时自动验证 cookies - 改进 cookie 验证逻辑,添加指数退避重试 - Dockerfile 安装 Playwright 系统依赖 - docker-compose.yaml 添加 volumes 和 health checks 测试: - 添加 auth.spec.ts 自动化测试 - 添加 get-cookies.ts 和 test-cookies-validity.ts 工具脚本 - 验证 401/500/000 等错误场景处理正确
25 lines
551 B
TypeScript
25 lines
551 B
TypeScript
import { defineConfig, type PlaywrightTestConfig } from '@playwright/test';
|
|
|
|
export default defineConfig({
|
|
testDir: './test',
|
|
fullyParallel: true,
|
|
forbidOnly: !!process.env.CI,
|
|
retries: process.env.CI ? 2 : 0,
|
|
workers: process.env.CI ? 1 : undefined,
|
|
reporter: 'list',
|
|
use: {
|
|
baseURL: 'https://engage.nkcswx.cn',
|
|
trace: 'on-first-retry',
|
|
headless: true,
|
|
},
|
|
timeout: 60000,
|
|
expect: {
|
|
timeout: 5000,
|
|
},
|
|
webServer: {
|
|
command: 'echo "No web server needed"',
|
|
port: 0,
|
|
reuseExistingServer: true,
|
|
},
|
|
});
|