android-midscene-automation 0.1.22 → 0.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,9 +1,12 @@
1
1
  # 更新记录
2
2
 
3
+ ## v0.1.23
4
+
5
+ - 常见问题拆分为独立 `FAQ.md` 文档,并在 README 的“功能文档”中增加跳转入口。
6
+
3
7
  ## v0.1.22
4
8
 
5
- - 升级 Midscene 相关依赖到 `v1.12.0`,跟进官方发布说明:https://github.com/web-infra-dev/midscene/releases/tag/v1.12.0
6
- - 跟进 Midscene `v1.12.0` 的 Test Runner Beta、报告 wall/model call time 汇总、`deepseek-v4-flash-vision-exp` 支持,以及 Android ASAR 外部二进制路径修复。
9
+ - 升级 Midscene 相关依赖到 `v1.12.0`
7
10
 
8
11
  ## v0.1.21
9
12
 
package/FAQ.md ADDED
@@ -0,0 +1,91 @@
1
+ # 常见问题
2
+
3
+ ## 同一个 id 定位到错误输入框怎么办
4
+
5
+ 如果账号框和密码框都是 `id/tg_edit`,只按 id 回放可能输入到第一个输入框。
6
+
7
+ 建议:
8
+
9
+ - 直接分别选择账号框和密码框录制输入。
10
+ - 在节点详情里确认 selector 是否显示“重复 N”,以及“推荐定位”是否显示父级 + 子级。
11
+ - 如果推荐定位不准确,展开录制步骤,手动修改父级上下文 selector。
12
+ - 坐标点击只作为最后兜底。
13
+
14
+ ## 点击后没有检测到页面跳转怎么办
15
+
16
+ 可能原因:
17
+
18
+ - 按钮当前禁用。
19
+ - 账号密码不正确。
20
+ - App 使用单 Activity,Activity 不变化。
21
+ - 页面跳转依赖网络。
22
+
23
+ 推荐:
24
+
25
+ - 使用“断言存在”判断下个页面核心元素。
26
+ - 多 Activity 页面可以拆成两个脚本,在判断分支中用“连接脚本”串起来;回放会等待目标 Activity 出现。
27
+ - 单 Activity App 不要依赖 Activity 变化,应使用页面核心元素判断是否已进入目标状态。
28
+
29
+ ## 为什么连接脚本提示入口 Activity 不匹配
30
+
31
+ - 主流程连接要求目标脚本入口 Activity 与当前插入点一致,适合复用同一页面上的公共流程。
32
+ - 登录后进入首页等跨 Activity 场景,应先添加“判断存在”,再在“是”或“否”分支中添加“连接脚本”。
33
+ - 分支连接允许选择同一 App 的其他 Activity,但不会主动跳转页面;前面的点击或输入必须真正触发跳转。
34
+ - 如果页面未跳转,回放会在等待目标 Activity 超时后失败,这是为了防止在错误页面执行目标脚本。
35
+
36
+ ## 为什么在桌面点击 App 后回放无效
37
+
38
+ 部分厂商系统会限制桌面或启动器页面的控件信息,Appium 可能无法获取桌面图标的稳定 id。此时在桌面录制“点击 App 图标”可能无法回放。
39
+
40
+ 建议在开始节点后添加“启动 App”操作,由系统按包名打开目标 App,替代桌面点击图标。需要重置登录态或缓存时,可以先添加“清理 App 缓存”,再添加“启动 App”。
41
+
42
+ ## 弹窗只出现一次怎么办
43
+
44
+ 使用“判断存在”。
45
+
46
+ ```text
47
+ 判断存在 确认按钮
48
+ 是 -> 点击 确认按钮
49
+ 否 -> 不添加操作
50
+ ```
51
+
52
+ 不要直接把弹窗确认按钮作为普通必选点击,否则弹窗不出现时脚本会失败。
53
+
54
+ ## 什么时候用等待 Activity
55
+
56
+ 适合多 Activity App。
57
+
58
+ 如果 App 是单 Activity 架构,优先用:
59
+
60
+ ```text
61
+ 断言存在 页面核心元素
62
+ ```
63
+
64
+ ## 什么时候用可选步骤
65
+
66
+ 可选步骤适合非主流程阻塞项:
67
+
68
+ - 权限弹窗
69
+ - 协议弹窗
70
+ - 活动弹窗
71
+ - 首次引导
72
+
73
+ 不建议把登录按钮、提交按钮、核心断言设置为可选。
74
+
75
+ ## 回放时出现 UiAutomation not connected 怎么办
76
+
77
+ 组件树刷新和 Appium 回放不能同时占用 UiAutomation。当前版本会在回放期间暂停组件树自动刷新,并在断开时清理残留抓取进程后重试一次。
78
+
79
+ 如果仍然失败:
80
+
81
+ 1. 确认手机保持解锁,USB 调试授权没有失效。
82
+ 2. 确认 Appium 和 UiAutomator2 Driver 已正常启动。
83
+ 3. 停止其他正在抓取同一设备组件树的工具。
84
+ 4. 重新连接设备后再次回放。
85
+
86
+ ## 设备预览或组件树没有更新怎么办
87
+
88
+ 1. 先确认设备仍显示在设备下拉框中。
89
+ 2. 点击设备预览刷新按钮重新获取画面。
90
+ 3. 点击“刷新组件树”重新抓取页面结构。
91
+ 4. 回放期间组件树自动刷新会暂停,回放完成后会自动恢复。
package/README.md CHANGED
@@ -32,7 +32,7 @@ appium driver install uiautomator2
32
32
  ## 启动
33
33
 
34
34
  ```sh
35
- npx android-midscene-automation
35
+ npx --yes android-midscene-automation@latest
36
36
  ```
37
37
 
38
38
  启动后访问:
@@ -52,6 +52,7 @@ npx android-midscene-automation --port 5174
52
52
  ## 功能文档
53
53
 
54
54
  - [Appium 录制器使用说明](#appium-录制器使用说明)
55
+ - [常见问题](./FAQ.md)
55
56
  - [项目更新记录](#项目更新记录)
56
57
 
57
58
  ## 源码开发
@@ -164,7 +165,7 @@ midscene_run/ # Midscene 执行报告和运行产物
164
165
 
165
166
  本文档说明 Appium 组件树录制器的完整使用方式,包括每个操作按钮的用途、录制方法和示例。
166
167
 
167
- 本文档随 npm 包发布,也可以从 README 的“功能文档”直接打开。
168
+ 本文档随 npm 包发布,也可以从 README 的“功能文档”直接打开。常见问题请查看 [FAQ.md](./FAQ.md)。
168
169
 
169
170
  ## 使用前准备
170
171
 
@@ -1107,95 +1108,7 @@ output/2026-08-21_17-13-42-831-登录流程.html
1107
1108
 
1108
1109
  ## 常见问题
1109
1110
 
1110
- ### 同一个 id 定位到错误输入框怎么办
1111
-
1112
- 如果账号框和密码框都是 `id/tg_edit`,只按 id 回放可能输入到第一个输入框。
1113
-
1114
- 建议:
1115
-
1116
- - 直接分别选择账号框和密码框录制输入。
1117
- - 在节点详情里确认 selector 是否显示“重复 N”,以及“推荐定位”是否显示父级 + 子级。
1118
- - 如果推荐定位不准确,展开录制步骤,手动修改父级上下文 selector。
1119
- - 坐标点击只作为最后兜底。
1120
-
1121
- ### 点击后没有检测到页面跳转怎么办
1122
-
1123
- 可能原因:
1124
-
1125
- - 按钮当前禁用。
1126
- - 账号密码不正确。
1127
- - App 使用单 Activity,Activity 不变化。
1128
- - 页面跳转依赖网络。
1129
-
1130
- 推荐:
1131
-
1132
- - 使用“断言存在”判断下个页面核心元素。
1133
- - 多 Activity 页面可以拆成两个脚本,在判断分支中用“连接脚本”串起来;回放会等待目标 Activity 出现。
1134
- - 单 Activity App 不要依赖 Activity 变化,应使用页面核心元素判断是否已进入目标状态。
1135
-
1136
- ### 为什么连接脚本提示入口 Activity 不匹配
1137
-
1138
- - 主流程连接要求目标脚本入口 Activity 与当前插入点一致,适合复用同一页面上的公共流程。
1139
- - 登录后进入首页等跨 Activity 场景,应先添加“判断存在”,再在“是”或“否”分支中添加“连接脚本”。
1140
- - 分支连接允许选择同一 App 的其他 Activity,但不会主动跳转页面;前面的点击或输入必须真正触发跳转。
1141
- - 如果页面未跳转,回放会在等待目标 Activity 超时后失败,这是为了防止在错误页面执行目标脚本。
1142
-
1143
- ### 为什么在桌面点击 App 后回放无效
1144
-
1145
- 部分厂商系统会限制桌面或启动器页面的控件信息,Appium 可能无法获取桌面图标的稳定 id。此时在桌面录制“点击 App 图标”可能无法回放。
1146
-
1147
- 建议在开始节点后添加“启动 App”操作,由系统按包名打开目标 App,替代桌面点击图标。需要重置登录态或缓存时,可以先添加“清理 App 缓存”,再添加“启动 App”。
1148
-
1149
- ### 弹窗只出现一次怎么办
1150
-
1151
- 使用“判断存在”。
1152
-
1153
- ```text
1154
- 判断存在 确认按钮
1155
- 是 -> 点击 确认按钮
1156
- 否 -> 不添加操作
1157
- ```
1158
-
1159
- 不要直接把弹窗确认按钮作为普通必选点击,否则弹窗不出现时脚本会失败。
1160
-
1161
- ### 什么时候用等待 Activity
1162
-
1163
- 适合多 Activity App。
1164
-
1165
- 如果 App 是单 Activity 架构,优先用:
1166
-
1167
- ```text
1168
- 断言存在 页面核心元素
1169
- ```
1170
-
1171
- ### 什么时候用可选步骤
1172
-
1173
- 可选步骤适合非主流程阻塞项:
1174
-
1175
- - 权限弹窗
1176
- - 协议弹窗
1177
- - 活动弹窗
1178
- - 首次引导
1179
-
1180
- 不建议把登录按钮、提交按钮、核心断言设置为可选。
1181
-
1182
- ### 回放时出现 UiAutomation not connected 怎么办
1183
-
1184
- 组件树刷新和 Appium 回放不能同时占用 UiAutomation。当前版本会在回放期间暂停组件树自动刷新,并在断开时清理残留抓取进程后重试一次。
1185
-
1186
- 如果仍然失败:
1187
-
1188
- 1. 确认手机保持解锁,USB 调试授权没有失效。
1189
- 2. 确认 Appium 和 UiAutomator2 Driver 已正常启动。
1190
- 3. 停止其他正在抓取同一设备组件树的工具。
1191
- 4. 重新连接设备后再次回放。
1192
-
1193
- ### 设备预览或组件树没有更新怎么办
1194
-
1195
- 1. 先确认设备仍显示在设备下拉框中。
1196
- 2. 点击设备预览刷新按钮重新获取画面。
1197
- 3. 点击“刷新组件树”重新抓取页面结构。
1198
- 4. 回放期间组件树自动刷新会暂停,回放完成后会自动恢复。
1111
+ 常见问题已独立整理到 [FAQ.md](./FAQ.md)。
1199
1112
 
1200
1113
  ## 推荐录制规范
1201
1114
 
@@ -1209,10 +1122,13 @@ output/2026-08-21_17-13-42-831-登录流程.html
1209
1122
 
1210
1123
  # 项目更新记录
1211
1124
 
1125
+ ## v0.1.23
1126
+
1127
+ - 常见问题拆分为独立 `FAQ.md` 文档,并在 README 的“功能文档”中增加跳转入口。
1128
+
1212
1129
  ## v0.1.22
1213
1130
 
1214
- - 升级 Midscene 相关依赖到 `v1.12.0`,跟进官方发布说明:https://github.com/web-infra-dev/midscene/releases/tag/v1.12.0
1215
- - 跟进 Midscene `v1.12.0` 的 Test Runner Beta、报告 wall/model call time 汇总、`deepseek-v4-flash-vision-exp` 支持,以及 Android ASAR 外部二进制路径修复。
1131
+ - 升级 Midscene 相关依赖到 `v1.12.0`
1216
1132
 
1217
1133
  ## v0.1.21
1218
1134
 
package/USAGE.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  本文档说明 Appium 组件树录制器的完整使用方式,包括每个操作按钮的用途、录制方法和示例。
4
4
 
5
- 本文档随 npm 包发布,也可以从 README 的“功能文档”直接打开。
5
+ 本文档随 npm 包发布,也可以从 README 的“功能文档”直接打开。常见问题请查看 [FAQ.md](./FAQ.md)。
6
6
 
7
7
  ## 使用前准备
8
8
 
@@ -945,95 +945,7 @@ output/2026-08-21_17-13-42-831-登录流程.html
945
945
 
946
946
  ## 常见问题
947
947
 
948
- ### 同一个 id 定位到错误输入框怎么办
949
-
950
- 如果账号框和密码框都是 `id/tg_edit`,只按 id 回放可能输入到第一个输入框。
951
-
952
- 建议:
953
-
954
- - 直接分别选择账号框和密码框录制输入。
955
- - 在节点详情里确认 selector 是否显示“重复 N”,以及“推荐定位”是否显示父级 + 子级。
956
- - 如果推荐定位不准确,展开录制步骤,手动修改父级上下文 selector。
957
- - 坐标点击只作为最后兜底。
958
-
959
- ### 点击后没有检测到页面跳转怎么办
960
-
961
- 可能原因:
962
-
963
- - 按钮当前禁用。
964
- - 账号密码不正确。
965
- - App 使用单 Activity,Activity 不变化。
966
- - 页面跳转依赖网络。
967
-
968
- 推荐:
969
-
970
- - 使用“断言存在”判断下个页面核心元素。
971
- - 多 Activity 页面可以拆成两个脚本,在判断分支中用“连接脚本”串起来;回放会等待目标 Activity 出现。
972
- - 单 Activity App 不要依赖 Activity 变化,应使用页面核心元素判断是否已进入目标状态。
973
-
974
- ### 为什么连接脚本提示入口 Activity 不匹配
975
-
976
- - 主流程连接要求目标脚本入口 Activity 与当前插入点一致,适合复用同一页面上的公共流程。
977
- - 登录后进入首页等跨 Activity 场景,应先添加“判断存在”,再在“是”或“否”分支中添加“连接脚本”。
978
- - 分支连接允许选择同一 App 的其他 Activity,但不会主动跳转页面;前面的点击或输入必须真正触发跳转。
979
- - 如果页面未跳转,回放会在等待目标 Activity 超时后失败,这是为了防止在错误页面执行目标脚本。
980
-
981
- ### 为什么在桌面点击 App 后回放无效
982
-
983
- 部分厂商系统会限制桌面或启动器页面的控件信息,Appium 可能无法获取桌面图标的稳定 id。此时在桌面录制“点击 App 图标”可能无法回放。
984
-
985
- 建议在开始节点后添加“启动 App”操作,由系统按包名打开目标 App,替代桌面点击图标。需要重置登录态或缓存时,可以先添加“清理 App 缓存”,再添加“启动 App”。
986
-
987
- ### 弹窗只出现一次怎么办
988
-
989
- 使用“判断存在”。
990
-
991
- ```text
992
- 判断存在 确认按钮
993
- 是 -> 点击 确认按钮
994
- 否 -> 不添加操作
995
- ```
996
-
997
- 不要直接把弹窗确认按钮作为普通必选点击,否则弹窗不出现时脚本会失败。
998
-
999
- ### 什么时候用等待 Activity
1000
-
1001
- 适合多 Activity App。
1002
-
1003
- 如果 App 是单 Activity 架构,优先用:
1004
-
1005
- ```text
1006
- 断言存在 页面核心元素
1007
- ```
1008
-
1009
- ### 什么时候用可选步骤
1010
-
1011
- 可选步骤适合非主流程阻塞项:
1012
-
1013
- - 权限弹窗
1014
- - 协议弹窗
1015
- - 活动弹窗
1016
- - 首次引导
1017
-
1018
- 不建议把登录按钮、提交按钮、核心断言设置为可选。
1019
-
1020
- ### 回放时出现 UiAutomation not connected 怎么办
1021
-
1022
- 组件树刷新和 Appium 回放不能同时占用 UiAutomation。当前版本会在回放期间暂停组件树自动刷新,并在断开时清理残留抓取进程后重试一次。
1023
-
1024
- 如果仍然失败:
1025
-
1026
- 1. 确认手机保持解锁,USB 调试授权没有失效。
1027
- 2. 确认 Appium 和 UiAutomator2 Driver 已正常启动。
1028
- 3. 停止其他正在抓取同一设备组件树的工具。
1029
- 4. 重新连接设备后再次回放。
1030
-
1031
- ### 设备预览或组件树没有更新怎么办
1032
-
1033
- 1. 先确认设备仍显示在设备下拉框中。
1034
- 2. 点击设备预览刷新按钮重新获取画面。
1035
- 3. 点击“刷新组件树”重新抓取页面结构。
1036
- 4. 回放期间组件树自动刷新会暂停,回放完成后会自动恢复。
948
+ 常见问题已独立整理到 [FAQ.md](./FAQ.md)。
1037
949
 
1038
950
  ## 推荐录制规范
1039
951
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "android-midscene-automation",
3
- "version": "0.1.22",
3
+ "version": "0.1.23",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/oooooooko/android-midscene-automation.git"
@@ -23,6 +23,7 @@
23
23
  "vite.config.ts",
24
24
  "README.md",
25
25
  "USAGE.md",
26
+ "FAQ.md",
26
27
  "CHANGELOG.md"
27
28
  ],
28
29
  "scripts": {