Files
Artemis-Eapil/skills/artemis-automation/SKILL.md
T

5.7 KiB

name, description
name description
artemis-automation 使用 ARTEMIS MCP 在 Android 真机或模拟器上完成自然语言测试、批量用例执行、失败诊断、历史检索与 Word/Excel 报告交付。适用于用户希望 AI 操作或测试 Android 应用、导入测试用例或分析 ARTEMIS 执行结果。

ARTEMIS 自动化

使用项目提供的 MCP 工具操作 Android。报告由 ARTEMIS 自己生成,不要求宿主 AI 具备 Codex 私有工具、Word 或 Excel 插件。该 Skill 不提供桌面/浏览器自动化,也不提供历史动作脚本回放。

从需求到执行

  1. 明确目标、预期结果、目标应用和必要前置条件。用户已授权执行且信息足够时直接开展,不逐步索要批准;缺少会改变业务操作的条件时再询问。用例起点按实际需求安排,不默认清数据、重装、重启应用或退出登录。
  2. 用 mobile_workspace 查看设备和队列。沿用用户已指定的设备;多台可用设备且没有选择时先询问,不擅自挑选实体手机。任务参数显式传入 device_serial。同设备串行,不同设备可并行;本 Skill 不要求创建其他 AI 子代理。
  3. 首次使用、工具出错、任务拒绝或设备异常,先 mobile_diagnose。按 next_steps 的依赖顺序处理;attempt_fix=true 可尝试工具自带修复。只有凭据相关故障才使用 verify_credentials=true,观察异常才使用 probe_device=true。不要盲目重发任务。MCP 不可用时在项目目录运行 uv run artemis doctor 并检查宿主 MCP 日志。
  4. 选择执行模式:Flash 适合路径明确的界面操作;Pro 适合动态分支、持续计划、ADB/日志诊断或需要 Checker 明确校验的任务。mobile_run_task.model 的 flash/pro 是执行模式,不是 API 模型名称。步数长不自动等于需要 Pro;视频能力只有显式启用后才可用。
  5. 单任务用 mobile_run_task;批量任务用 mobile_batch,读 批量任务与交付。AI 可直接提交结构化用例,不必先创建 Excel。用户提供 Excel 时先 mobile_task_file(action="preview", path=绝对路径),修正所有行错误后提交。
  6. 单任务返回 trace_id 后,用 mobile_manage_task(action="status", trace_id=...) 跟踪;批次用 mobile_batch(action="get", batch_id=...)。尊重工具建议的等待周期,等待期间可以整理已得证据,避免连续高频轮询。停滞或失败先诊断;不把同一业务任务自动重新提交来解决模型错误。

结果、证据与交付

  • 执行状态与业务判定分开:completed 只说明执行结束,不等于测试通过。检查工具返回的验证摘要、预期/实际结果,以及 mobile_inspect_trace 的步骤/截图。证据不足标记“未验证”;前置条件不满足说明阻塞原因,不能编造通过结论。
  • 用 mobile_export_report(session_id=...) 获取单任务报告;批次传 batch_id 获取汇总和每项任务报告的 ZIP。未指定格式时使用保存的 Word/Excel 偏好。执行中的导出只是当前快照。
  • 工具返回 MCP 主机上的绝对文件路径和下载 URL。向用户交付真实生成的文件链接,并说明完成、失败、未验证、跳过数量及重要限制。不要只说“报告已生成”而不交付文件。
  • 用 mobile_search_history 按名称、目标、编号或标签搜索全部历史;日期先按用户时区转换为 Unix 秒,start 含边界、end 不含边界。按返回的 total/page/size 翻页,不能把第一页当作全部历史。
  • mobile_inspect_trace 是只读步骤证据查看;其中历史上下文的 replay 术语不表示重新执行设备动作。

配置和恢复边界

  • mobile_config 读取非敏感设置。只有用户明确要求保存或修改默认配置时,才传 changes 与 persist_defaults=true;这些设置影响后续任务,不能为一次临时需求擅自改变以后所有任务。
  • 模型名称支持预设 gpt-5.6-luna、mimo-v2.6-flash 和自定义名称,取决于用户配置的 Responses 网关。思考强度最高支持 max,默认 high、单次请求 300 秒、失败后最多重试 5 次、固定间隔 10 秒;默认关闭视频分析与录屏。不根据模型名称猜测网关能力。
  • 强度选 default 表示不发送该参数,和 none(显式要求关闭)不同。接口拒绝强度参数时明确呈现失败,先询问用户是否改用 default,不能静默降级或换模型。
  • API Key 只通过网页或 .env 配置。不要请求用户把 key 发到聊天中,不读取/回显已有 key。保存后新任务生效;直接编辑环境文件后需重启相应服务,运行中的任务保留自己的配置。
  • 当前视频开关仅提供保存的全局设置,没有单任务覆盖或独立视频文件分析接口。用户只要求临时分析且默认关闭时,明确说明这个限制;不能用“先开全局、执行后再关”影响同期任务。只有用户改为要求保存启用后,才修改配置并提交新任务。
  • 请求重试是模型调用恢复,不是测试用例重跑。批次默认失败继续、不自动重跑;服务重启后保留状态并暂停,用户明确要求后才继续或复制失败项。
  • 批次暂停只停止后续派发;要停止当前任务使用 mobile_manage_task(action="stop", trace_id=...)。停止可能保留已经产生的业务效果,不声称自动回滚。

需要编写外部可执行测试代码时,先通过 ARTEMIS 实际探索目标应用,确认页面、定位器和转换。优先动态定位,框架支持时才以已验证坐标兜底;在最终脚本中明确等待条件,不将 AI 思考耗时当作确定性等待。