38 lines
8.8 KiB
Markdown
38 lines
8.8 KiB
Markdown
---
|
|
name: artemis-case-prep
|
|
description: 从多工作表原始 Android 测试用例中筛选适用于目标设备且可由 ARTEMIS 自动执行的用例,标记原表副本并填写六列批量任务模板的 Artemis 提示词。用于准备任务文档,不用于直接运行批次或改造导入器。
|
|
---
|
|
|
|
# ARTEMIS 用例准备
|
|
|
|
把原始测试用例工作簿转成两份可追溯的文件:保留原有内容并新增“是否选中作为自动化执行”(`是`/`否`)列的原表副本,以及只包含选中用例的六列任务表。优先使用用户提供的模板;未提供时使用 [六列模板](assets/artemis-tasks.xlsx)。不要覆盖输入文件。
|
|
|
|
## 先确认适用性,再判断自动化
|
|
|
|
1. 逐页识别真正的用例表、表头、续行、合并单元格及行级适用性;不要以固定列号、`max_row` 或单独的用例编号推断用例。行政清单、报告页和空白格式行不算用例。遇到本项目附件的异构页时,读 [字段与边界](references/workbook-contract.md)。其他原始文档仍须按其实际结构重新识别。
|
|
2. 适用性由用户在**原始用例**中完成:核对目标设备及每条用例的“是否适用”标记、标题限定或明确的适用说明;不强制另建设备能力清单。若有空白、缺少行级判定而无法由原文明确判定,或目标设备信息与原文范围无法对应,列出缺失的工作表与行号(可压缩连续行段),提醒用户补齐并**暂停正式转换**。不得把空白当作“不适用”,也不得从型号臆测设备能力。适用性明确为“否”的用例在自动化列标“否”。
|
|
3. 对适用用例逐条判断能否由 ARTEMIS 的 Android UI 操作及其可用 ADB/日志观察建立前置条件、完成动作并取得可核验结果。依赖人工观察、实物遮挡/断电、外部设备或 PC 操作、主观音画质量评价,或者前置条件无法建立的用例标“否”,不交给 ARTEMIS 试跑。不能因为有步骤文字就判“是”。“是”表示适合自动化执行,不表示测试已经通过。
|
|
原始步骤若有不清晰之处,尤其操作对象、顺序、入口、触发条件或结果判定不明确时,列出来源工作表、行号、原文及具体疑问,向使用者确认后再判定该条用例并定稿 Artemis 提示词。确认前不猜测步骤或界面路径,也不把“否”作为替代澄清的标记;可继续整理其他明确用例,但受影响条目保持待确认,正式任务表待澄清后再交付。
|
|
4. **确认测试任务之前**,明确目标测试 App 的版本(以用户提供或设备上核实的版本标识为准,不用文档日期或设备固件版本代替);版本缺失时只可准备草稿,不称为已确认的任务。**测试开始之前**另须确认设备 SN、秘钥、设备名称、设备型号。用户已明确这四项设备信息在该工作流中可正常流转;相关用例可直接使用已提供的值,不凭空编造。设备信息缺失时明确待补内容,不称为可执行,也不启动测试;不要把 ARTEMIS 的模型 API Key 与设备秘钥混同。
|
|
5. 涉及“与某信息一致/匹配/同步”等断言的用例,**测试前**逐项补齐要比较的字段、可信的预期值或独立参照来源,以及适用设备/账号/版本范围。原文没有给足但可补充时,保留其自动化候选判断,在草稿中列出具体待补项;未补齐不得启动该用例。若确实无法取得独立参照,才判为无法自动核验。不能从被测页面自身反推预期,或把“显示正常”当作一致。
|
|
|
|
## 生成与核验
|
|
|
|
- 在原表**副本**的用例表增加且只增加所要求的自动化标记列(若已有此列则更新,不重复新增);每条用例填 `是` 或 `否`。先核对目标位置不会覆盖既有数据,保留原工作表、原文、图片、合并、格式及非用例页。若所选表格工具不能保真,停止交付并说明损失,不输出貌似完整的副本。遵循可用的 spreadsheet 工作流进行编辑、渲染与导出检查。
|
|
- 任务表严格沿用 `任务` 页的六列顺序:`用例编号 / 检测项目 / 测试子项 / 测试用例 / 前置约束提取 / Artemis提示词`。只写入适用且自动化列为“是”的用例;其他工作表保持模板原样。编号在任务表内保留原值并附 `〔来源页!行号〕`,以区分重号;原表编号不改。
|
|
- “前置约束提取”写确认的测试 App 版本及原文实际要求的设备、账号、网络和状态;一致性用例还写明比较字段与独立预期值/来源,草稿中可明确标出待补项,但不把未确认条件写成已满足。“Artemis提示词”**必须以 `【原表显示的用例编号】` 紧接原“测试用例”文本开头**,随后接完整执行说明;例如 `【1.1】【声波配网】手动长按重置恢复出厂后首次绑定完成配网流程` 后另起执行说明。这里的连接是文本拼接,不写字面 `+`;提示词前缀不附来源页/行号。执行说明写明在确认的 App 版本上操作、起点、操作意图、必要等待/状态转移、可观察的预期及证据要求;一致性断言须明确实际值与哪个预期值比较。直播页的分辨率切换、全屏、声音开启/关闭等目标控件初次未显示时,可先观察画面、轻点直播画面一次并重新观察可能浮现的控件或二级菜单;声音开关仅以可观察的 UI 状态核验,不把需要人工听音的结果判为自动化可核验。卡回看和云回看可将有颜色区域作为有数据的选时线索、空白区域作为无数据线索;选有数据片段时先选择过去且有颜色的区域,再用回放结果核验,不仅凭颜色判通过,也不设计拖动到未来。**仅移动爱家 App** 的卡回放用例可在点击“云回看”后观察是否出现切换入口。以上均是适用场景的条件性提示,不发明 UI 定位器、页面路径、精确坐标或功能。条件不满足、参照信息缺失或实际安装版本不一致时如实报告阻塞,不声称通过。无可用原编号或测试用例文本时列出来源行请用户补齐,不造编号或标题。更多写法见 [字段与边界](references/workbook-contract.md)。
|
|
- 设置页功能项较多;相关用例在首屏未找到目标时,提示词应允许向上滑动更长距离以查看下方内容,并在每次滑动后重新观察和定位。不要把首屏未见当作功能缺失,也不要规定未经核实的固定坐标、距离或盲滑次数;见 [设置页查找边界](references/workbook-contract.md#提示词与决策)。
|
|
- 核对原表每条真实用例的标记均为 `是`/`否`,任务表数据行数恰等于“是”的数量;逐行检查提示词的编号和用例文本前缀、App 版本是否与本次确认值一致,并抽查一致性用例有独立参照且比较字段明确;再抽查不同表头布局、重复编号、合并/续行和排除项。确认输入文件未改、两份输出的非目标内容未意外变化,且六列表头、提示词与来源可回溯。
|
|
|
|
当前所附 ARTEMIS 1.0.1 的原生 Excel 导入器要求另一套固定七列,**不能声称本六列文件已通过导入**。用户明确要保留六列,后续会改 ARTEMIS 实现;本 skill 不擅自生成第七列、改源码、调用 `mobile_batch` 或启动设备。将来用户要求执行时,先按当时服务版本预览校验并取得执行授权;编写外部可执行测试代码则先用 ARTEMIS 探索实际应用。
|
|
|
|
## 执行状态显示取消但之后完成
|
|
|
|
ARTEMIS 执行期间,网页或列表可能显示“取消”/“正在取消”,而之后的持久批次或任务记录又显示已完成。不要依据单次界面快照判最终状态,也不要把“已完成”直接等同于测试通过。执行方应按稳定的批次 ID、session/trace ID 重新读取 ARTEMIS 持久状态,确认取消是否只是请求/过渡状态、任务最终状态,以及报告是否已就绪;检查应遵从工具建议并保持低频,避免连续轮询。
|
|
|
|
- 最终持久记录为 `completed` 且报告已就绪时,核对 trace/报告中的实际步骤、证据和业务判定,再分别记录通过、失败或未验证。
|
|
- 最终持久记录为 `cancelled` 时,它是终态;保留取消记录及已产生的部分证据,不得改写成完成,也不要因界面状态不一致而自动重提同一用例。重跑须有明确授权,并作为新的执行记录。
|
|
- 若批次、session 与网页显示互相矛盾,或报告尚未就绪,记录各自 ID、状态和检查时间,做必要的低频只读核验;矛盾未消除前标记“状态待核实”,不得统计为通过或已完成。
|
|
|
|
此规则只用于解释执行记录,不改变本 skill 的职责范围:本 skill 负责准备与核验用例文档,不负责启动、取消、恢复或重跑 ARTEMIS 任务。
|