1.6 KiB
1.6 KiB
SELECT_OPTION [提案]
SELECT_OPTION 是“查找选项、必要时滚动、点击并验证选中”的复合动作。当前代码尚未实现。
1. 任务结构
{
"id": "select-value",
"action": "SELECT_OPTION",
"packageName": "com.example.target",
"target": {
"text": {
"mode": "EXACT",
"value": "选项 A"
}
},
"container": {
"resourceId": "com.example.target:id/options"
},
"search": {
"direction": "DOWN",
"maxAttempts": 6
},
"selectedWhen": {
"state": "SELECTED",
"selector": {
"text": "选项 A"
}
},
"timeoutMs": 10000
}
target 可以直接使用 selector,也可以在值引用实现后使用任务输入生成文字条件。
2. 执行规则
- 先检查 selectedWhen;已经选中时直接成功。
- 在当前容器中查找唯一目标。
- 未找到且配置 search 时,按 SCROLL 规则有限滚动。
- 找到后按 CLICK 规则最多点击一次。
- 重新读取页面并验证 selectedWhen。
- 达到最大次数、边缘或总超时时停止。
没有可观察的选中状态时,不应使用 SELECT_OPTION;改用 CLICK,并由页面 after 验证。
3. 结果码
ALREADY_SELECTEDOKOPTION_NOT_FOUNDOPTION_AMBIGUOUSCONTAINER_NOT_FOUNDACTION_FAILEDVERIFICATION_FAILEDSELECT_TIMEOUT
4. 测试
覆盖已选中、当前页找到、滚动后找到、没有目标、多个目标、不可用选项、点击失败、验证失败和边缘停止。