
openvidu/openvidu-test-e2e本Docker镜像专为端到端(E2E)测试场景设计,集成主流测试工具与运行环境,无需手动配置依赖,可快速搭建标准化测试环境。镜像通过预封装测试框架、浏览器驱动及报告工具,降低测试环境搭建复杂度,支持从界面交互到接口调用的全链路验证,适用于开发团队、测试团队及CI/CD流程的自动化测试需求。
开发人员可通过本镜像在本地快速复现测试环境,验证前端交互逻辑、后端接口调用及数据流转的完整性,无需手动配置复杂依赖。
在代码合并或发布前,通过CI/CD平台触发镜像部署,自动执行预设测试用例,生成测试报告并阻断异常流程,确保交付质量。
针对开发、测试、预发布等不同环境,通过镜像标准化测试配置,避免因环境差异导致的测试结果不一致问题。
团队成员可通过统一镜像版本共享测试环境配置,减少"本地可测,线上失败"的协作问题,提升团队测试效率。
bash# 拉取镜像(假设镜像名为e2e-test-env,具体名称需替换为实际镜像地址) docker pull [镜像仓库地址]/e2e-test-env:latest # 启动测试环境(默认启动Cypress框架,暴露8080端口用于Web控制台) docker run -d \ --name e2e-test \ -p 8080:8080 \ -v ./test-cases:/app/test-cases \ # 挂载本地测试用例目录 -v ./test-reports:/app/reports \ # 挂载测试报告输出目录 -e TEST_TARGET_URL="[***]" \ # 测试目标应用URL -e TEST_FRAMEWORK="cypress" \ # 指定测试框架(可选:selenium/playwright/cypress) [镜像仓库地址]/e2e-test-env:latest
创建docker-compose.yml文件:
yamlversion: '3.8' services: e2e-test: image: [镜像仓库地址]/e2e-test-env:latest container_name: e2e-test ports: - "8080:8080" # Web控制台端口 - "4444:4444" # Selenium Grid端口(如启用Selenium) volumes: - ./test-cases:/app/test-cases:ro # 只读挂载测试用例 - ./test-reports:/app/reports:rw # 读写挂载报告目录 - ./browser-cache:/app/.cache # 持久化浏览器缓存(可选) environment: - TEST_TARGET_URL="[***]" # 必选:测试目标URL - TEST_FRAMEWORK="playwright" # 可选:测试框架类型 - BROWSER_TYPE="chrome" # 可选:浏览器类型(chrome/firefox/edge) - REPORT_FORMAT="html,json" # 可选:报告输出格式(多格式用逗号分隔) - TEST_TIMEOUT=300 # 可选:测试超时时间(秒,默认300) restart: unless-stopped
启动命令:docker-compose up -d
http://localhost:8080,通过界面配置测试任务或直接执行挂载的测试用例./test-reports目录,可通过浏览器打开index.html查看可视化报告docker logs -f e2e-test| 参数名 | 描述 | 可选值 | 默认值 | 是否必填 |
|---|---|---|---|---|
| TEST_TARGET_URL | 测试目标应用的基础URL | 合法HTTP/HTTPS URL | 无 | 是 |
| TEST_FRAMEWORK | 指定测试框架 | selenium/cypress/playwright | cypress | 否 |
| BROWSER_TYPE | 测试浏览器类型(如支持) | chrome/firefox/edge/safari | chrome | 否 |
| REPORT_FORMAT | 测试报告输出格式 | html/json/xml/junit | html,json | 否 |
| TEST_TIMEOUT | 单测试用例超时时间(秒) | 正整数 | 300 | 否 |
| HEADLESS_MODE | 是否启用无头模式(无界面) | true/false | true | 否 |
| PROXY_SERVER | 测试网络代理服务器 | IP:端口或域名:端口 | 无 | 否 |
| ENABLE_VIDEO_RECORD | 是否录制测试过程视频 | true/false | false | 否 |
| 本地目录 | 容器内路径 | 用途 | 权限要求 |
|---|---|---|---|
| ./test-cases | /app/test-cases | 存放测试用例文件 | 只读 |
| ./test-reports | /app/reports | 输出测试报告、日志、截图等 | 读写 |
| ./browser-cache | /app/.cache | 持久化浏览器缓存(加速测试) | 读写 |
| ./config | /app/config | 自定义测试框架配置文件 | 只读 |
.spec.js文件),否则可能导致执行失败host.docker.internal)而非localhost--cpus和-m参数),避免资源不足导致测试超时
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务