ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

如何用e2e自动管理开发服务器?app启动命令配置详解

2026/10/7 14:09:22 拓冰建站 浏览量
如何用e2e自动管理开发服务器?app启动命令配置详解 如何用e2e自动管理开发服务器app启动命令配置详解【免费下载链接】e2eNext generation e2e testing framework for web and mobile apps.项目地址: https://gitcode.com/GitHub_Trending/e2e6/e2ee2e 是一款面向 Web 和移动端的新一代 e2e 自动化测试框架。它最大的省心之处之一是能在e2e.config.ts里通过 app 启动命令app.command自动拉起开发服务器测试运行器替你启动应用、轮询等待就绪、跑完后自动停止。本文面向新手用最小示例带你一次配好。两种启动方式按需选择方式写法适用场景只给地址app: { url: http://localhost:3000 }自己已在终端跑着 dev server托管启动再加一个command字段希望运行器自动启动/停止应用完整说明见官方文档 docs/starting-your-app.mdx。让 e2e 托管启动最小配置示例以 examples/with-next/e2e.config.ts 为例核心只有三行app: { url: http://localhost:3100, command: { executable: npm, args: [run, dev], reuseExisting: true }, }运行时的完整流程 运行器按command拉起 dev server不经过 shellexecutable从PATH中解析⏳ 轮询app.url直到有响应或readyUrl指定的健康检查地址 所有测试跑完、失败或被中断后自动终止该进程启动成功后你会看到类似提示✓ target web command ready 1.20s。command 配置项速查表选项作用默认值executable可执行程序名如npm、pnpm必填—args参数数组原样传递—cwd工作目录相对项目根目录项目根目录env注入的环境变量子进程只继承PATH、HOME和临时目录变量—startupTimeout等待就绪的毫秒数超时报APP_UNREACHABLE60000shutdownTimeout停止时强杀前的宽限期毫秒10000log把应用 stdout/stderr 追加写入项目内文件启动失败会带出最后 20 行不记录reuseExisting若就绪地址已有进程在应答直接复用、不再启动false两个高频技巧reuseExisting: true本地开发时如果端口上已经跑着服务就复用它CI 环境会忽略该选项始终重新启动。log: .e2e/logs/app.log排障神器应用启动报错时日志里一目了然。参考 docs/examples/quickstart/e2e.command.config.ts。进阶让 e2e 自动挑选空闲端口多个检出并行跑测试时固定端口容易打架。把 URL 端口写成0运行器会自动挑一个空闲端口app: { url: http://127.0.0.1:0, command: { executable: pnpm, args: [dev, --port, {port}], env: { PORT: {port} } }, }{port}会被替换成实际分配的端口测试中可通过app.baseUrl读取。注意两点主机名需用127.0.0.1或[::1]localhost:0会被拒绝该模式与reuseExisting互斥。多目标共享与常见坑多目标共享进程多个 target 声明相同的command时只启动一个进程全部 target 复用适合「同一应用、多个浏览器/视口」的组合。CI 行为CI 中reuseExisting被忽略若端口已被占用会报APP_ALREADY_RUNNING。Next.js 16 注意target 打开127.0.0.1而next dev识别为localhost时会出现「点得到按钮但事件不触发」的问题需在next.config.ts中加入allowedDevOrigins。依赖服务当前版本只托管app.command这一个进程数据库等依赖需提前启动或让启动脚本一并拉起。延伸阅读资源位置启动应用指南docs/starting-your-app.mdx配置参考docs/reference/config.mdx命令校验源码packages/e2e/src/config/command.ts应用解析源码packages/e2e/src/config/app.tsNext.js 完整示例examples/with-next/e2e.config.tsExpo 多平台示例examples/with-expo/e2e.config.ts配好app.command后你只需一条e2e run命令开发服务器的生命周期就全部交给框架了 【免费下载链接】e2eNext generation e2e testing framework for web and mobile apps.项目地址: https://gitcode.com/GitHub_Trending/e2e6/e2e创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考