Skip to content

命令速查表 ​

所有命令速查表 ​

交互命令(13 个) ​

命令作用示例
tapOn点击元素tapOn: "登录"
longPressOn长按元素longPressOn: "文件"
doubleTapOn双击元素doubleTapOn: "图片"
swipe滑动swipe: { direction: UP }
scroll滚动一次scroll
scrollUntilVisible滚动直到可见见进阶篇
inputText输入文字inputText: "hello"
eraseText删除文字eraseText 或 eraseText: 10
pressKey按键pressKey: Home
back返回back
hideKeyboard收起键盘hideKeyboard 或 hide keyboard
copyTextFrom复制元素文字copyTextFrom: { id: "code" }
pasteText粘贴文字pasteText

验证命令(4 个) ​

命令作用超时
assertVisible验证元素可见17 秒
assertNotVisible验证元素不可见7 秒
assertTrue验证脚本条件—
extendedWaitUntil自定义等待自定义

App 管理(6 个) ​

命令作用
launchApp启动 App
stopApp停止 App
killApp强杀 App
clearState清除 App 数据
openLink打开链接
setPermissions设置权限

流程控制(5 个) ​

命令作用
repeat循环执行
break退出最近一层循环,只能在 repeat 内使用
retry失败重试
runFlow子流程(内联命令或引用文件)
branch条件分支

数据与脚本(11 个) ​

命令作用
defineVariables定义变量
evalScript执行 JS 表达式
runScript执行 JS(可注入变量)
shellevalScript 的简写
httpRequest发起 HTTP 请求
2fa生成 6 位 TOTP 验证码并保存到变量
setClipboard设置剪贴板
inputRandomText随机文字
inputRandomNumber随机数字
inputRandomEmail随机邮箱
inputRandomPersonName随机人名

设备控制(5 个) ​

命令作用
sleep延时等待
setLocation设置 GPS 位置
setAirplaneMode设置飞行模式
takeScreenshot截图
waitForAnimationToEnd等待动画结束

所有按键名称 ​

以下按键名称可以在 pressKey 命令中使用:

导航键 ​

按键说明
Home主页键
Back返回键
Menu菜单键
Search搜索键
Enter回车/确认
TabTab 键
EscapeESC 键
DpadUp方向键 ↑
DpadDown方向键 ↓
DpadLeft方向键 ←
DpadRight方向键 →
DpadCenter方向键中心
PageUp上翻页
PageDown下翻页

编辑键 ​

按键说明
Delete删除键(退格)
Backspace退格键
ForwardDelete向前删除
Space空格键

音量与电源 ​

按键说明
VolumeUp音量加
VolumeDown音量减
Power电源键
Lock锁屏

电话 ​

按键说明
Call接听
EndCall挂断

字母与数字 ​

按键说明
A ~ Z字母键
0 ~ 9数字键
Numpad0 ~ Numpad9小键盘数字

符号 ​

按键说明
Comma逗号 ,
Period句号 .
Grave反引号 `
Minus减号 -
Equals等号 =
Plus加号 +
LeftBracket左方括号 [
RightBracket右方括号 ]
Backslash反斜杠 \
Semicolon分号 ;
Apostrophe撇号 '
Slash斜杠 /
At@ 符号
Star星号 *
Pound井号 #

其他 ​

按键说明
Camera相机键
Clear清除键

默认超时与限制 ​

参数默认值说明
元素查找超时17,000 msassertVisible 等命令的默认等待时间
可选元素查找超时7,000 msoptional: true 时的等待时间
界面稳定超时1,500 ms点击/滑动后等待界面稳定的时间
脚本执行超时200 msJS 表达式求值超时
动画等待超时15,000 mswaitForAnimationToEnd 默认超时
滑动默认时长400 msswipe 默认持续时间
连续点击间隔100 mstapOn 的 delay 默认值
滚动查找超时20,000 msscrollUntilVisible 默认超时
滚动默认速度40scrollUntilVisible 的 speed 参数(0~100)
循环限制无隐藏默认值repeat 只应用显式传入的 times、duration、while
重试默认次数1 次retry 不设 maxRetries 时的默认值
重试最大次数3 次retry 的 maxRetries 上限
单命令异常处理重试5 次异常处理器对单条命令的最大重试次数
最大删除字符数50 个eraseText 默认删除上限
界面稳定等待上限30,000 mswaitToSettleTimeoutMs 最大值
HTTP 重试间隔3,000 mshttpRequest retry 默认间隔

常见问题 ​

Q: tapOn 找不到元素怎么办? ​

  1. 确认文字完全匹配(包括大小写、空格)
  2. 尝试使用正则:tapOn: "登录.*"
  3. 尝试使用 ID:tapOn: { id: "btn_login" }
  4. 加上 optional: true 让它不报错

Q: 如何在不同设备上适配? ​

使用百分比坐标代替绝对坐标:

yaml
# 不推荐(只适用于特定分辨率)
- tapOn: { point: "540,1200" }

# 推荐(任何分辨率都生效)
- tapOn: { point: "50%,60%" }

Q: sleep 的随机范围怎么选? ​

  • 快速操作间隔:sleep: [500, 1500](0.5~1.5 秒)
  • 模拟阅读浏览:sleep: [3000, 8000](3~8 秒)
  • 等待加载完成:sleep: [5000, 10000](5~10 秒)

Q: chance 和 when 能同时用吗? ​

同时写时,when 生效,chance 被忽略。它们是二选一的关系——chance: 0.3 其实等价于 when: { true: "${Math.random() < 0.3}" },只是写起来更方便。

Q: repeat 的 duration 单位是什么? ​

毫秒(ms)。常用换算:

  • 1 秒 = 1,000
  • 1 分钟 = 60,000
  • 10 分钟 = 600,000
  • 30 分钟 = 1,800,000
  • 1 小时 = 3,600,000

Q: 变量在子流程中修改后,外面能看到吗? ​

能看到。evalScript 修改的变量存在全局作用域中,子流程中修改后外面立刻生效。

Q: httpRequest 的 jsonPath 怎么写? ​

用点号分隔的路径,从 JSON 根节点开始:

json
{ "data": { "user": { "name": "张三" } } }

对应 jsonPath:data.user.name,结果为 "张三"。