dfe2e 是一个端到端测试仓库,旨在通过自动化测试验证 Doofinder 相关项目的功能正确性。目前包含 6 个项目测试:doofapi、doomanager、doophoenix、doophoenix_v6、livelayer 和 livelayer-mobile。该镜像基于 Cypress 和 Docker 构建,支持本地和远程测试执行,通过静态 HTML 文件和预配置的搜索引擎验证各类功能场景。
*** 账号下的专用搜索引擎和商店,确保测试环境一致性DOOPHOENIX、ZONE)灵活配置测试参数doofinder/dfe2e,支持与 GitHub Actions 等工具集成bash# 首次运行需为每个商店强制处理所有索引到 *** 用户 $ ./bin/local.sh project_name # project_name 为测试项目名称(如 doophoenix、livelayer)
bash$ ./bin/remote.sh project_name
webserver/html/,测试脚本位于 e2e/project_name/cypress/integratione2e-testing.doofinder.com:静态 Web 服务器,提供 webserver/html 目录下的文件e2e:基于 cypress/included:7.7.0 镜像,提供 Cypress 执行环境和 GUI 界面所有测试使用 *** 账号下的"测试专用"搜索引擎(位于"Default Store"),每个引擎配置不同测试场景:
| 搜索引擎名称 | 哈希ID | 特性说明 |
|---|---|---|
| doofinder e2e testing 1 | 7f74a4ff3165fe9882f460d03a40c5d9 | 硬编码加载脚本 |
| doofinder e2e testing 2 | 3dce6e7fb6dc40041ef003acfdb09e8a | 动态加载脚本 |
| doofinder e2e testing 3 | *** | 带自定义 CSS 的动态加载脚本 |
| doofinder e2e testing 4 | 041a812bde0613978d9e2f9d9c8323d8 | - |
| doofinder e2e testing 5 | 7c4dc04b621f90a51c23cc9b55e68a34 | - |
| doofinder e2e testing 6 | d9a488511916331027e4626d8f28c467 | 已停用(生产测试未使用) |
| doofinder e2e testing 7 | bbf8055bcbbdbfa44f085c1ccd52aad9 | - |
| doofinder e2e testing 8 | 7a3adf59b007c8a570ec6bb0e66e9d83 | 分组项目,截断频率设为 0.0000000000001 |
注意:EU 和 US 区域的搜索引擎配置完全一致,哈希ID相同。
如需在 US 区域创建与 EU 相同的搜索引擎,可在 US1 ipython 控制台执行:
pyconIn [1]: from helpck.users.models import DoofinderUser In [2]: from helpck.search_engines.models import SearchEngine In [3]: from helpck.search_engines.usecases.users import send_user_events In [4]: user = DoofinderUser.objects.get(email='***') In [5]: a = user.account In [6]: se = SearchEngine.objects.create( site_url='[***] account=a, hashid='7f74a4ff3165fe9882f460d03a40c5d9' # 替换为目标哈希ID ) In [7]: send_user_events(se) # 必须执行,确保事件同步
除"Default Store"外,*** 账号下包含多个专用测试商店,用于验证不同 live layer 场景:
| 商店名称 | 商店ID | 测试场景 |
|---|---|---|
| e2e testing - livelayer TYPE_A | bb7ea73d-aa96-4993-a2cb-532fc8e6a7a3 | 全屏和移动层 |
| e2e testing - livelayer TYPE_C | 018ed9fa-203e-40b9-9ff9-dbf7c3d39016 | 浮动层 |
| e2e testing - livelayer TYPE_E | a5acfe75-5aa8-4ab8-aca5-96a9f1e31370 | 嵌入式层 |
| e2e-testing - livelayer TYPE_A shopper assistant | b6b2037f-4b8c-4195-821c-12f2a9530693 | 全屏层购物助手 |
| ...(完整列表参见原始文档) | ... | ... |
bash# 索引所有 e2e 数据源,运行建议并生成 fakes3 单行 JS 文件 docker exec doomanager-doomanager-1 mix process_indices_suggestions_and_store_configs 2e333961bf48540a1c9a34a55151b6
bash# 使用旧本地脚本运行 ./bin/local.sh livelayer # 使用本地唯一脚本运行 ./bin/local.sh livelayer loader2-local # 使用 staging 环境唯一脚本运行 ./bin/local.sh livelayer loader2-staging # 使用生产环境唯一脚本运行 ./bin/local.sh livelayer loader2-production # 使用指定 URL 的脚本运行 ./bin/local.sh livelayer loader2-[***]
[***] 作为搜索服务器DOOPHOENIX,未设置时默认使用 eu1-search.doofinder.combash# 示例:设置 US 区域搜索服务器 export DOOPHOENIX="[***]"
通过 ZONE 环境变量切换测试区域:
bash# US 区域运行 livelayer 测试 $ ZONE=us1 ./bin/remote.sh livelayer
通过 E2E Tests 1.15 GitHub Action 执行:
bash# 针对 staging 环境运行 livelayer 测试 $ ENVIRONMENT=staging ./bin/remote.sh livelayer # 针对 staging 环境运行 livelayer-mobile 测试 $ ENVIRONMENT=staging ./bin/remote.sh livelayer-mobile
bash$ ./bin/remote.sh project_name # 自动同步 s3 仓库并生成测试视频
bash# US 区域运行 doophoenix 测试 $ DOOPHOENIX=[***] ./bin/remote.sh doophoenix # US 区域运行 livelayer 测试 $ ZONE=us1 ./bin/remote.sh livelayer
远程测试视频保存在 dfe2e/e2e/project_name/cypress/videos/ 目录。
私有镜像 doofinder/dfe2e 包含完整测试环境,master 分支提交后由 Docker Hub 自动更新。
bash# 运行生产测试 docker run --rm doofinder/dfe2e --project project_name # 带环境变量运行 docker run --rm -e ZONE=us1 doofinder/dfe2e --project livelayer
修改 docker-compose.yml,将 "run" 替换为 "open" 并移除 --headed 参数:
yaml# 原配置 command: ["run", "--headed", ...] # 修改后 command: ["open", ...] # 移除 "--headed"
bash# 导出 doophoenix 主机 export DOOPHOENIX="[***]" # 如 hosts 文件未包含 doophoenix,添加映射 sudo echo "127.0.0.1 doophoenix" >> /etc/hosts
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429