用途:为运行中的应用编写可读的浏览器端到端(冒烟/e2e)测试框架,典型以 CLI agent-browser 驱动。核心是运行器(runner)负责基础设施,用例(case)只负责产品步骤。仅针对运行中应用的端到端旅程;单元/组件测试应单独放。
安装:
全局
npx skills add ArchAstro/astroshots --skill browser-ui-harness -g -y
仅当前项目
cd /path/to/your/project npx skills add ArchAstro/astroshots --skill browser-ui-harness -y 可搭配:npx skills add ArchAstro/astroshots --skill agent-browser -g -y 与 npx skills add ArchAstro/astroshots --skill astroshots-review -g -y。
架构:run.sh 负责发现端口/URL、健康检查、创建隔离的命名 agent-browser 会话、认证引导、辅助函数(等待/断言/截图/步骤日志)、产物目录与 Markdown 报告、会话与运行数据清理。cases/ 中每个用例只包含 CASE_DESCRIPTION 与 run_case(),用 smoke_step、smoke_browser、smoke_wait_text、smoke_capture、smoke_click_text、smoke_assert_url 等辅助函数编写人类可识别的产品步骤。
要点:每次运行一个会话(如 SESSION="${SESSION:-ui-${REPO}-${RUN_ID}}"),退出时关闭,除非 HOLD=1 供人工检查;所有等待必须有界(默认 10–20 秒),优先等待产品信号而非固定 sleep;断言产品结果而非实现细节;失败时倾倒整页截图、快照、控制台与错误;截图需说明“这证明了什么”;使用 run-unique 名称创建数据并在 trap 中尽力清理;密钥不得进入 argv 或日志。本地框架默认只允许 loopback 地址,远程目标需显式 ALLOW_REMOTE=1 逃生舱。
可选双写:按顺序解析 ASTROSHOT_CAPTURE、archdev shots capture、astroshot-capture 之一,写入 $REPO_ROOT/.astroshot/<feature>/ 供实时评审;均不可用时跳过,框架仍可运行。
限制:资料未提供具体价格、平台支持范围或性能数据;命令与脚本细节以原资料为准。