android-midscene-automation 0.1.43 → 0.2.2
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/{AI_RECOGNITION_GUIDE.md → AI/350/257/206/345/210/253/346/223/215/344/275/234/350/257/264/346/230/216.md} +78 -6
- package/CHANGELOG.md +13 -0
- package/FAQ.md +8 -8
- package/README.md +143 -17
- package/USAGE.md +120 -8
- package/package.json +3 -2
- package/server/analytics.test.ts +46 -0
- package/server/analytics.ts +24 -0
- package/server/api-safety-analytics.test.ts +57 -0
- package/server/appium-auto-save.test.ts +6 -0
- package/server/appium-recorder/ai-recognition.test.ts +27 -0
- package/server/appium-recorder/ai-recognition.ts +16 -4
- package/server/appium-recorder/appium-runner.ts +11 -1
- package/server/appium-recorder/appium-version.test.ts +55 -0
- package/server/appium-recorder/managed-appium.ts +37 -1
- package/server/appium-recorder/repository.ts +6 -2
- package/server/appium-recorder/routes.ts +2 -12
- package/server/appium-recorder/run-history.ts +11 -0
- package/server/config-access.test.ts +27 -0
- package/server/config-access.ts +27 -0
- package/server/http-api.ts +63 -54
- package/server/operations/repository.ts +8 -0
- package/server/remote-agents/routes.ts +2 -12
- package/server/request-body.test.ts +40 -0
- package/server/request-body.ts +48 -0
- package/src/App.vue +98 -742
- package/src/analytics/summary.ts +75 -0
- package/src/api.ts +11 -0
- package/src/appium-recorder/AppiumPage.vue +4 -1
- package/src/appium-recorder/ai-recognition.ts +7 -0
- package/src/appium-recorder/components/AiRecognitionSettings.vue +27 -0
- package/src/appium-recorder/flow-labels.ts +1 -1
- package/src/appium-recorder/types.ts +2 -1
- package/src/components/AppSidebar.vue +31 -0
- package/src/components/analytics/AnalysisCharts.vue +189 -0
- package/src/components/analytics/ReportAnalysis.vue +78 -0
- package/src/components/config/AiPromptPresetsSettings.vue +55 -5
- package/src/components/config/AppiumConfigPanel.vue +4 -1
- package/src/components/config/AppiumModelSettings.vue +1 -1
- package/src/components/config/BaseConfigPanel.vue +6 -2
- package/src/components/config/MidsceneConfigPanel.vue +4 -5
- package/src/components/help/HelpCenter.vue +185 -0
- package/src/components/help/MarkdownDocument.vue +139 -0
- package/src/composables/use-device-preview.ts +279 -0
- package/src/composables/use-initial-resource.ts +17 -0
- package/src/composables/use-script-execution.ts +277 -0
- package/src/config/credentials.ts +2 -0
- package/src/config/use-appium-auto-save.ts +22 -11
- package/src/config/use-model-config.ts +157 -0
- package/src/main.ts +2 -2
- package/src/pages/AnalysisPage.vue +60 -0
- package/src/pages/ConfigPage.vue +36 -5
- package/src/style.css +716 -91
- package/src/types.ts +7 -1
- package//346/265/201/347/250/213/350/212/202/347/202/271/346/223/215/344/275/234/350/257/264/346/230/216.md +408 -0
- package/src/ui-refresh.css +0 -677
|
@@ -1,9 +1,27 @@
|
|
|
1
|
-
# AI
|
|
1
|
+
# Appium AI 识别与参数设置使用说明
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
本文说明本项目的 **Appium 参数设置**和流程中的“AI 识别”节点,包括模型服务、预设场景、单帧识别、持续观察、截图去重、回放截图、报告总结和流程外观。Appium 的 AI 识别模型与“Midscene 配置”中的模型相互独立。
|
|
4
|
+
|
|
5
|
+
本文档对应页面“帮助与版本 → 操作说明 → AI 识别”。其他 Appium 节点请查看 [流程节点操作说明](./流程节点操作说明.md)。
|
|
4
6
|
|
|
5
7
|
文中的场景参数是调试起点,请用实际设备、页面和模型验证后调整。
|
|
6
8
|
|
|
9
|
+
## Appium 参数配置总览
|
|
10
|
+
|
|
11
|
+
入口:**参数配置 → Appium 配置**。页面按用途分为以下模块:
|
|
12
|
+
|
|
13
|
+
| 模块 | 配置项 | 保存方式 |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| 模型服务 | AI 识别模型 | 点击“测试并保存”,测试通过后保存 |
|
|
16
|
+
| 模型服务 | 提示词优化模型 | 点击“测试并保存”,测试通过后保存 |
|
|
17
|
+
| AI 识别设置 | 持续观察截图去重 | 修改后自动保存 |
|
|
18
|
+
| AI 识别设置 | AI 识别预设提示词 | 新增、编辑或删除后自动保存 |
|
|
19
|
+
| 回放与报告 | 回放截图 | 开关修改后自动保存 |
|
|
20
|
+
| 回放与报告 | 回放报告总结 | 开关、测试场景和提示词修改后自动保存 |
|
|
21
|
+
| 流程编辑器 | 流程背景色、连接线条颜色 | 修改后自动保存 |
|
|
22
|
+
|
|
23
|
+
页面顶部会显示 Appium 配置的自动保存状态。模型连接参数只有测试成功后才会覆盖已保存配置,其他开关、颜色和提示词配置按修改自动保存。
|
|
24
|
+
|
|
7
25
|
## 1. 先根据目标选择配置
|
|
8
26
|
|
|
9
27
|
| 你的目标 | 识别方式 | 观察模式 | 启用分支 | 建议起始配置 |
|
|
@@ -22,7 +40,7 @@
|
|
|
22
40
|
|
|
23
41
|
## 2. 配置 AI 识别模型
|
|
24
42
|
|
|
25
|
-
入口:**参数配置 → Appium 配置 →
|
|
43
|
+
入口:**参数配置 → Appium 配置 → 模型服务 → AI 识别模型**。
|
|
26
44
|
|
|
27
45
|
1. 填写模型服务的 `Base URL`。
|
|
28
46
|
2. 填写 `API Key`。
|
|
@@ -39,7 +57,7 @@ AI 识别读取设备实际截图,不依赖组件树来理解内容。设备
|
|
|
39
57
|
|
|
40
58
|
## 3. 管理预设测试场景
|
|
41
59
|
|
|
42
|
-
入口:**参数配置 → Appium 配置 → AI
|
|
60
|
+
入口:**参数配置 → Appium 配置 → AI 识别设置 → AI 识别预设提示词**。
|
|
43
61
|
|
|
44
62
|
每条预设包含两个部分:
|
|
45
63
|
|
|
@@ -48,7 +66,7 @@ AI 识别读取设备实际截图,不依赖组件树来理解内容。设备
|
|
|
48
66
|
| 测试场景 | 下拉选择时显示的名称 | 开屏广告检测 |
|
|
49
67
|
| 提示词内容 | 实际发给模型的识别要求 | 当前画面是否出现广告?升级弹窗和通知弹窗不属于广告。 |
|
|
50
68
|
|
|
51
|
-
|
|
69
|
+
填写后点击“添加提示词”。下方列表固定显示三行高度,可以滚动查看全部内容。默认预设和自定义预设都可以编辑测试场景名称及提示词内容,也可以删除;新增、编辑和删除后都会自动保存。
|
|
52
70
|
|
|
53
71
|
内置场景包括出图检测、广告及跳过关闭按钮检测、广告内容提取、异常提示检测。旧版纯文本预设会保留内容并补上场景名称;删除全部预设后不会在刷新时重新恢复。
|
|
54
72
|
|
|
@@ -187,6 +205,14 @@ AI 识别读取设备实际截图,不依赖组件树来理解内容。设备
|
|
|
187
205
|
|
|
188
206
|
**问题验证不提供设备截图,只检查这段文字是否适合判断。** 验证通过不代表广告已经出现;检查当前设备必须执行“测试 AI 识别”或回放。
|
|
189
207
|
|
|
208
|
+
启用分支后可以勾选“启用兜底”,再选择无有效识别结果时进入左侧 true 分支还是右侧 false 分支。兜底适用范围收在选项旁的问号说明中:
|
|
209
|
+
|
|
210
|
+
- 不启用兜底:模型没有返回可用结果时节点失败,保持旧脚本行为。
|
|
211
|
+
- 进入 true 分支:模型返回空内容、无效 JSON、`result: null` 或没有返回布尔值时进入 true。
|
|
212
|
+
- 进入 false 分支:出现上述无有效结果时进入 false。
|
|
213
|
+
|
|
214
|
+
模型正常返回 `true` 或 `false` 时始终按实际结果执行,不使用兜底。模型请求失败、设备截图失败和网络异常也不会被兜底吞掉;模型请求超时继续使用节点原有的“超时后处理”。回放日志会明确记录“AI 未返回有效 true/false”及实际进入的兜底分支。
|
|
215
|
+
|
|
190
216
|
## 8. 按场景配置
|
|
191
217
|
|
|
192
218
|
### 场景 A:开屏广告加载时间不固定
|
|
@@ -279,7 +305,7 @@ AI 节点只判断,不会因为提示词写了“关闭广告”就自动点
|
|
|
279
305
|
|
|
280
306
|
## 9. 截图去重怎么调
|
|
281
307
|
|
|
282
|
-
入口:**参数配置 → Appium 配置 → AI
|
|
308
|
+
入口:**参数配置 → Appium 配置 → AI 识别设置 → 持续观察截图去重**。
|
|
283
309
|
|
|
284
310
|
去重是全局配置,用于后续持续观察回放和识别测试,不影响单帧识别。两种算法都在本地比较图片,不调用模型;第一帧始终保留,之后与上一张保留的截图比较。
|
|
285
311
|
|
|
@@ -336,6 +362,8 @@ AI 节点需要主动勾选“启用超时”,设置值才会生效。新建
|
|
|
336
362
|
| 采集很多帧,只提交少量 | 通常是去重生效;对照实际提交画面检查是否误删关键变化 |
|
|
337
363
|
| 观察 15 秒,执行超过 15 秒 | 检查模型耗时、剩余关键帧和逐次请求等待 |
|
|
338
364
|
| 命中后仍没有走 true | 检查是否启用分支、true 路径是否连接,以及是否编辑后尚未验证保存 |
|
|
365
|
+
| 模型未返回 true/false,流程直接失败 | 在启用分支后按业务风险配置“无有效识别结果时”;未设置兜底会保持失败行为 |
|
|
366
|
+
| 已设置兜底,但网络报错时没有进入分支 | 兜底只处理无效模型内容;网络、模型接口、截图和超时错误仍按失败或超时设置处理 |
|
|
339
367
|
| 没有命中却执行了下一节点 | 未启用分支时这是正常行为;需要区分结果请开启分支 |
|
|
340
368
|
| 每次都拍到启动页 | AI 节点位置、观察窗口和采样时机可能不合适 |
|
|
341
369
|
| 小按钮出现但没检测到 | 降低 pixelmatch 允许变化面积,或提高 SSIM 阈值;用不去重对照 |
|
|
@@ -368,3 +396,47 @@ App 品牌启动页、升级弹窗、系统通知弹窗和权限申请弹窗不
|
|
|
368
396
|
如果下一步必须立刻点击“跳过”,将命中条件改为“广告与可见的跳过 / 关闭按钮同时存在”,并重点验证小按钮变化不会被去重。
|
|
369
397
|
|
|
370
398
|
如果目标是提取广告内容,应改用统一分析、关闭分支,或另设内容提取节点;第二个节点会重新截图,不能保证仍看到第一个节点捕获的短暂广告。
|
|
399
|
+
|
|
400
|
+
## 13. 配置提示词优化模型
|
|
401
|
+
|
|
402
|
+
入口:**参数配置 → Appium 配置 → 模型服务 → 提示词优化模型**。
|
|
403
|
+
|
|
404
|
+
提示词优化模型只需支持文本输入,统一用于:
|
|
405
|
+
|
|
406
|
+
- 根据简短要求补充和优化 AI 识别提示词。
|
|
407
|
+
- 优化回放报告提示词。
|
|
408
|
+
- 开启回放报告总结后,根据日志和节点配置生成测试报告总结。
|
|
409
|
+
|
|
410
|
+
填写 `Base URL`、`API Key` 和 `Model Name` 后点击“测试并保存”。测试成功会弹窗提示并保存配置;测试失败时保留之前可用的配置。AI 识别模型和提示词优化模型用途不同,可以配置为不同模型。
|
|
411
|
+
|
|
412
|
+
## 14. 配置回放截图与 HTML 报告
|
|
413
|
+
|
|
414
|
+
入口:**参数配置 → Appium 配置 → 回放与报告 → 回放截图**。
|
|
415
|
+
|
|
416
|
+
该开关默认关闭。开启后,回放会在实际执行节点前后采集设备截图,并生成可播放的单文件 HTML 报告;判断结果、失败节点和手动终止也会保留相应画面。关闭后仅保留 Markdown 报告、日志和运行历史,图像判断及手动截图等确实需要图片的节点仍会按需截图。
|
|
417
|
+
|
|
418
|
+
截图采集会增加回放耗时,节点之间的实际操作间隔可能超过流程中设置的固定延时。报告需要完整过程画面时开启;只关心执行日志或希望减少耗时时可以关闭。
|
|
419
|
+
|
|
420
|
+
## 15. 配置回放报告总结
|
|
421
|
+
|
|
422
|
+
入口:**参数配置 → Appium 配置 → 回放与报告 → 回放报告总结**。
|
|
423
|
+
|
|
424
|
+
开启后,工具使用“提示词优化模型”读取脱敏后的回放日志和节点配置,生成 Markdown 测试报告总结。可以选择测试场景、修改报告提示词、增加自定义测试场景,或输入简要要求后使用“优化提示词”补充内容。
|
|
425
|
+
|
|
426
|
+
回放按钮的设置中可以为本次回放选择报告模板;不选择时使用默认测试报告。需要分析出图速度时可以选择出图时间分析模板,报告应结合日志中的节点开始、截图采集、识别命中和结束时间说明出图耗时。
|
|
427
|
+
|
|
428
|
+
开启总结后,页面会验证提示词优化模型:
|
|
429
|
+
|
|
430
|
+
- 模型可用时,回放结束后生成 AI 总结。
|
|
431
|
+
- 模型不可用时,开关旁显示“模型不可用,使用默认模板”,回放仍会继续。
|
|
432
|
+
- 总结请求失败、超时或返回空内容时,保留默认格式的基础报告和原始日志,不改变测试结果。
|
|
433
|
+
|
|
434
|
+
总结耗时不计入设备测试总时长。发送给模型的内容不包含截图和图片模板;脚本配置及日志过长时会保留头尾并标明中段省略。
|
|
435
|
+
|
|
436
|
+
## 16. 配置流程编辑器外观
|
|
437
|
+
|
|
438
|
+
入口:**参数配置 → Appium 配置 → 流程编辑器 → 流程外观**。
|
|
439
|
+
|
|
440
|
+
可以分别设置流程背景色和连接线条颜色。每项都支持预选颜色、颜色选择器、十六进制颜色输入和恢复默认。颜色值支持 `#RGB` 或 `#RRGGBB`,输入无效时页面会显示校验提示。
|
|
441
|
+
|
|
442
|
+
外观修改后自动保存,并同时应用到普通流程画布、放大视图和连接脚本预览。该配置只影响流程编辑界面显示,不改变脚本节点和回放行为。
|
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
# 更新记录
|
|
2
|
+
## v0.2.2
|
|
3
|
+
- 更新 Vben 风格的浅色后台界面:蓝色主色、白色卡片、浅灰背景、可折叠侧边栏与顶部页签。
|
|
4
|
+
- 新增“概览 → 分析页”,根据已保存脚本和真实执行记录分别汇总 Midscene、Appium 测试数据。
|
|
5
|
+
- 修复配置加载失败后出现空白可保存表单的问题,增加独立错误提示和重试;后端断线后自动尝试重连并支持手动重连,保留页面编辑内容。
|
|
6
|
+
- Appium 配置自动保存失败后保留最新待保存内容并提供“重试保存”;修复切换或关闭 Appium 页签后,离开页面时未保存草稿保护失效的问题。
|
|
7
|
+
- Appium 顶部工具栏改为随页面布局排列,窄屏自动换行,避免遮挡面包屑;统一全站样式与中文组件文案,合并重复主题声明。
|
|
8
|
+
- 完善隔离数据环境下的浏览器回归测试,以及请求校验、配置保护、自动保存重试和统计口径测试。
|
|
9
|
+
|
|
10
|
+
## v0.2.1
|
|
11
|
+
- 侧边栏底部新增“帮助与版本”入口。
|
|
12
|
+
- AI 识别预设提示词支持编辑测试场景名称和提示词内容,默认预设与自定义预设均可修改并自动保存。
|
|
13
|
+
- AI 识别启用分支后可勾选“启用兜底”,再选择进入左侧 true 或右侧 false 分支;正常识别结果不受影响。
|
|
14
|
+
|
|
2
15
|
## v0.1.43
|
|
3
16
|
- 新增独立的“提示词优化模型”,统一用于优化 AI 识别提示词、报告提示词和生成回放测试报告总结;AI 识别与回放报告均可输入简要要求后由模型补充提示词,模型测试成功改为弹窗提示。
|
|
4
17
|
- 回放设置新增报告模板选择,不选择时使用默认测试报告;开启报告总结后会在回放前检测提示词优化模型,模型不可用时弹窗提示并继续生成默认格式的基础报告。总结请求失败、超时或返回空内容时同样保留基础报告,不改变测试结果。
|
package/FAQ.md
CHANGED
|
@@ -36,16 +36,16 @@ Linux: ~/.local/share/android-midscene-automation
|
|
|
36
36
|
|
|
37
37
|
推荐:
|
|
38
38
|
|
|
39
|
-
-
|
|
40
|
-
-
|
|
39
|
+
- 使用“等待出现”判断下个页面核心元素,或添加“等待 Activity”明确目标页面。
|
|
40
|
+
- 检测到 Activity 变化时可以选择继续在当前脚本录制;也可以拆成两个脚本,再用“连接脚本”串联。
|
|
41
41
|
- 单 Activity App 不要依赖 Activity 变化,应使用页面核心元素判断是否已进入目标状态。
|
|
42
42
|
|
|
43
|
-
##
|
|
43
|
+
## 连接脚本后为什么没有进入目标页面
|
|
44
44
|
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
-
|
|
45
|
+
- 连接脚本列表会显示同一 App 的其他已保存脚本,不受入口 Activity 限制。
|
|
46
|
+
- 连接操作本身不会点击页面或主动跳转,前面的点击、输入或启动 App 必须先让设备进入目标脚本需要的页面。
|
|
47
|
+
- 目标脚本绑定了入口 Activity 时,回放会等待该 Activity;未绑定时会直接从当前画面执行。
|
|
48
|
+
- 跨页面连接前建议添加“等待 Activity”或“等待出现”,便于确认页面已经切换完成。
|
|
49
49
|
|
|
50
50
|
## 为什么在桌面点击 App 后回放无效
|
|
51
51
|
|
|
@@ -72,7 +72,7 @@ Linux: ~/.local/share/android-midscene-automation
|
|
|
72
72
|
如果 App 是单 Activity 架构,优先用:
|
|
73
73
|
|
|
74
74
|
```text
|
|
75
|
-
|
|
75
|
+
等待出现 页面核心元素
|
|
76
76
|
```
|
|
77
77
|
|
|
78
78
|
## 什么时候用可选步骤
|
package/README.md
CHANGED
|
@@ -52,7 +52,8 @@ npx android-midscene-automation --port 5174
|
|
|
52
52
|
## 功能文档
|
|
53
53
|
|
|
54
54
|
- [Appium 录制器使用说明](#appium-录制器使用说明)
|
|
55
|
-
- [
|
|
55
|
+
- [流程节点操作说明](./流程节点操作说明.md)
|
|
56
|
+
- [AI 识别操作说明](./AI识别操作说明.md)
|
|
56
57
|
- [常见问题](#常见问题)
|
|
57
58
|
- [项目更新记录](#项目更新记录)
|
|
58
59
|
|
|
@@ -172,9 +173,54 @@ midscene_run/ # Midscene 执行报告和运行产物
|
|
|
172
173
|
|
|
173
174
|
本文档随 npm 包发布,也可以从 README 的“功能文档”直接打开。常见问题请查看 [常见问题](#常见问题)。
|
|
174
175
|
|
|
175
|
-
AI 识别的场景选择、预设提示词、持续观察、分支、截图去重及超时配置,请查看 [AI
|
|
176
|
+
Appium 各流程节点的用途和配置方式,请查看 [流程节点操作说明](./流程节点操作说明.md)。AI 识别的场景选择、预设提示词、持续观察、分支、截图去重及超时配置,请查看 [AI 识别操作说明](./AI识别操作说明.md)。
|
|
176
177
|
|
|
177
|
-
##
|
|
178
|
+
## 页面内帮助
|
|
179
|
+
|
|
180
|
+
点击侧边栏最下方的问号图标,可以在“帮助与版本”窗口中查看:
|
|
181
|
+
|
|
182
|
+
- 当前工具版本和对应的 Midscene 版本。
|
|
183
|
+
- Vue、Element Plus、Appium、Midscene、Vue Flow、OpenCV.js、Vite 和 TypeScript 等主要技术及版本。
|
|
184
|
+
- 本操作说明。
|
|
185
|
+
- 常见问题和各版本更新记录。
|
|
186
|
+
|
|
187
|
+
Midscene 操作说明读取 `USAGE.md`,Appium 操作说明读取 `流程节点操作说明.md`,AI 识别操作说明读取 `AI识别操作说明.md`,常见问题和更新记录分别读取 `FAQ.md` 与 `CHANGELOG.md`;文档更新后页面内容会同步更新。
|
|
188
|
+
|
|
189
|
+
## Midscene 操作说明
|
|
190
|
+
|
|
191
|
+
### 配置 Midscene 模型
|
|
192
|
+
|
|
193
|
+
进入“参数配置”,在 Midscene 模型区域选择模型提供方并填写所需参数。Midscene 执行依赖支持图片输入的多模态模型,填写后应先点击测试,确认模型可以正常响应。
|
|
194
|
+
|
|
195
|
+
### 生成测试脚本
|
|
196
|
+
|
|
197
|
+
进入“Midscene > 测试脚本生成”,填写脚本名称、场景标题、目标 App 和测试需求,也可以上传用例文件。点击“AI 生成”后检查生成步骤,确保测试数据、操作目标和成功条件准确。
|
|
198
|
+
|
|
199
|
+
### 自定义步骤编排
|
|
200
|
+
|
|
201
|
+
在测试脚本生成页面切换到“自定义步骤编排”,可以逐条添加操作、等待、查询和判断步骤。每条指令只描述一个明确目标,页面跳转后使用可观察的页面元素作为等待条件。
|
|
202
|
+
|
|
203
|
+
### 编辑并保存脚本
|
|
204
|
+
|
|
205
|
+
生成脚本后可以查看、编辑或复制代码。确认内容后点击“保存脚本”,保存的脚本会出现在“自动化测试”页面中。
|
|
206
|
+
|
|
207
|
+
### 执行 Midscene 脚本
|
|
208
|
+
|
|
209
|
+
进入“Midscene > 自动化测试”,选择脚本和 Android 设备后点击“开始执行”。执行期间保持设备亮屏和解锁,Midscene 会根据当前画面理解目标并执行操作。
|
|
210
|
+
|
|
211
|
+
### 停止执行
|
|
212
|
+
|
|
213
|
+
脚本运行期间点击顶部“停止执行”可以中止后续步骤。停止后查看执行输出,确认最后完成的步骤和停止位置。
|
|
214
|
+
|
|
215
|
+
### 查看执行输出
|
|
216
|
+
|
|
217
|
+
自动化测试页面会实时显示步骤状态、耗时和错误信息。执行失败时先检查模型配置、ADB 连接、设备画面以及指令中的目标描述是否清晰。
|
|
218
|
+
|
|
219
|
+
### Midscene 编写建议
|
|
220
|
+
|
|
221
|
+
一条指令只完成一个目标;输入、点击和等待尽量拆分;等待条件应描述页面中可观察到的稳定元素;不要在同一步骤中同时处理大量弹窗和业务操作。组件 ID 稳定并需要大量重复回放时,可以改用 Appium 流程。
|
|
222
|
+
|
|
223
|
+
## Appium 使用前准备
|
|
178
224
|
|
|
179
225
|
### 1. 连接 Android 设备
|
|
180
226
|
|
|
@@ -283,14 +329,81 @@ App 包名是必填项,只能从“参数配置”中已经添加的“预设
|
|
|
283
329
|
- 点击节点右上角删除按钮可移除节点,流程引用会自动修正。
|
|
284
330
|
- 浏览器刷新后会保持当前功能页面和 Appium 工作区 Tab;存在未保存修改时,刷新或关闭页面前会提示保存。
|
|
285
331
|
|
|
286
|
-
###
|
|
332
|
+
### 跨 Activity 录制
|
|
287
333
|
|
|
288
|
-
|
|
334
|
+
录制点击后如果检测到 Activity 发生变化,系统会提示选择继续录制或结束并保存。需要把多个页面保存在同一脚本时选择继续,等待新页面组件树刷新后即可录制后续操作;希望按页面拆分时,结束当前脚本并在新 Activity 中创建脚本,再通过“连接脚本”组合流程。
|
|
289
335
|
|
|
290
|
-
|
|
336
|
+
跨页面流程建议在跳转操作后添加“等待 Activity”,明确目标页面并提高回放稳定性。加载历史脚本时,即使手机当前 Activity 与脚本入口 Activity 不同,也可以查看和编辑流程;回放前应确认启动节点、等待 Activity 或前置操作能把设备带到正确页面。
|
|
291
337
|
|
|
292
338
|
## 操作说明
|
|
293
339
|
|
|
340
|
+
### 当前操作分类
|
|
341
|
+
|
|
342
|
+
- 组件操作:录制点击、录制输入、提取变量、清空输入、长按、存在则点击、存在则输入、存在则清空。
|
|
343
|
+
- 设备操作:点击坐标、系统返回、Home 键、最近任务、电源键、滑动、双指缩放、启动 APP、停止 APP、启动相册、清除 APP 数据。
|
|
344
|
+
- 判断与等待:判断存在、判断勾选、文字点击、AI 识别、图像判断、等待出现、等待消失、等待 Activity。
|
|
345
|
+
- 检测画面变化:在三级菜单中分别添加“开始”和“结束”,对比指定区域前后的画面。
|
|
346
|
+
- 循环:添加有界循环、进入下一次循环和退出循环。进入下一次循环会跳过本轮剩余节点;退出循环会执行目标循环结束后的流程。
|
|
347
|
+
- 流程控制:连接脚本、终止流程、输出日志和添加延时。
|
|
348
|
+
|
|
349
|
+
旧脚本中的“断言存在”和“断言文本”仍可回放,但新流程统一使用当前菜单中的判断与等待操作。
|
|
350
|
+
|
|
351
|
+
### 提取变量
|
|
352
|
+
|
|
353
|
+
读取选中组件的文字或属性并保存为脚本变量,后续输入、判断、定位和日志节点可以使用 `{{变量名}}` 引用。
|
|
354
|
+
|
|
355
|
+
### 停止 APP
|
|
356
|
+
|
|
357
|
+
停止指定包名的 App 进程,不卸载应用,也不清除登录信息和本地数据。节点中可以修改目标包名。
|
|
358
|
+
|
|
359
|
+
### 启动相册
|
|
360
|
+
|
|
361
|
+
打开设备可用的系统相册或常见相册应用,只负责进入相册,不自动选择照片或视频。
|
|
362
|
+
|
|
363
|
+
### 清除 APP 数据
|
|
364
|
+
|
|
365
|
+
清除目标应用数据并恢复初始状态,会删除登录信息和本地设置。该操作只允许放在流程开始位置,使用前应确认测试数据可以重置。
|
|
366
|
+
|
|
367
|
+
### 判断勾选
|
|
368
|
+
|
|
369
|
+
读取原生 Checkbox、RadioButton 或 Switch 的真实 checked 状态,并按勾选或未勾选进入对应分支。普通图片控件应改用图像判断。
|
|
370
|
+
|
|
371
|
+
### 文字点击
|
|
372
|
+
|
|
373
|
+
按指定文字精确或模糊查找原生组件,匹配后点击并进入成功分支,未匹配时进入另一分支。它不识别图片或自绘画面中的文字。
|
|
374
|
+
|
|
375
|
+
### AI 识别
|
|
376
|
+
|
|
377
|
+
将设备截图发送给视觉模型,可以执行单帧识别、持续观察或检测命中后提前结束。默认按顺序继续执行;启用分支后根据识别结果进入不同路径。
|
|
378
|
+
|
|
379
|
+
### 图像判断
|
|
380
|
+
|
|
381
|
+
使用本地 OpenCV 判断模板、图片勾选状态、黑屏、区域颜色或多帧变化,不调用模型。固定图标和稳定视觉特征适合使用该操作。
|
|
382
|
+
|
|
383
|
+
### 检测画面变化
|
|
384
|
+
|
|
385
|
+
从三级菜单分别添加“开始”和“结束”。开始节点保存指定区域的基准截图,结束节点与对应基准比较并在日志和报告中记录变化结果。
|
|
386
|
+
|
|
387
|
+
### 循环
|
|
388
|
+
|
|
389
|
+
在最大执行次数范围内重复执行循环体,可以固定次数运行,也可以根据元素出现或消失提前退出。最大次数用于防止脚本无限循环。
|
|
390
|
+
|
|
391
|
+
### 进入下一次循环
|
|
392
|
+
|
|
393
|
+
跳过当前轮剩余节点并进入指定的当前或外层循环下一轮。达到最大次数后执行循环结束路径。
|
|
394
|
+
|
|
395
|
+
### 退出循环
|
|
396
|
+
|
|
397
|
+
立即结束指定的当前或外层循环,随后执行该循环结束后的流程。
|
|
398
|
+
|
|
399
|
+
### 终止流程
|
|
400
|
+
|
|
401
|
+
主动结束整次回放,后续节点和连接脚本不再执行。系统仍会保存本次日志和报告。
|
|
402
|
+
|
|
403
|
+
### 输出日志
|
|
404
|
+
|
|
405
|
+
输出自定义内容和日志关键字,支持 `{{变量名}}`。适合标记测试阶段、记录读取值或为报告提供检索标识。
|
|
406
|
+
|
|
294
407
|
### 录制点击
|
|
295
408
|
|
|
296
409
|
用途:点击某个组件。
|
|
@@ -940,10 +1053,10 @@ Home 键
|
|
|
940
1053
|
|
|
941
1054
|
1. 在上方“提示词优化模型”填写 Base URL、API Key、Model Name,并点击“测试并保存”。该文本模型同时用于优化提示词和生成回放报告总结。
|
|
942
1055
|
2. 开启“回放报告总结”。开关和报告提示词修改后自动保存。
|
|
943
|
-
3.
|
|
1056
|
+
3. 在回放按钮的设置中选择报告模板;不选择时使用默认测试报告。默认格式包括测试概览(脚本名称、起止时间、结果、总时长)、执行配置及节点参数、用例描述表格、失败详情和汇总,也可以选择出图时间分析或自定义模板。
|
|
944
1057
|
4. 回放结束后将脱敏日志、主脚本与连接脚本配置发送给总结模型,生成的 Markdown 使用原回放报告路径,保存在配置的报告输出目录(默认 `output`);完成日志会显示报告路径。
|
|
945
1058
|
|
|
946
|
-
|
|
1059
|
+
开启报告总结后,工具会在回放前验证提示词优化模型。模型不可用时,开关旁会提示“模型不可用,使用默认模板”,回放仍会继续并生成基础报告。总结在设备操作结束后生成,页面会显示生成进度,总结耗时不计入测试总时长。关闭时继续生成原基础报告且不调用总结模型;请求失败、超时或返回空内容时保留基础报告和原始日志,并输出失败原因,不改变测试结果。模型请求最多等待 60 秒。
|
|
947
1060
|
|
|
948
1061
|
报告不会向模型发送截图和图片模板。为控制输入大小,脚本配置最多保留约 50000 字符,日志最多保留约 100000 字符;超限时保留头尾并标注中段省略,生成报告也会注明信息不完整。模型的原因分析属于辅助判断,应结合原始日志核实。
|
|
949
1062
|
|
|
@@ -954,7 +1067,7 @@ Home 键
|
|
|
954
1067
|
- 新脚本需要填写名称并选择预设 App 后保存。
|
|
955
1068
|
- 从顶部脚本下拉框或“脚本列表”加载历史脚本后,再次点击“保存”会更新原脚本,不会因为名称相同而报错。
|
|
956
1069
|
- 脚本数据只保存流程图 `flow_json`,其中包含主流程、判断分支、连接关系、节点备注和页面检查点。
|
|
957
|
-
-
|
|
1070
|
+
- 已保存脚本加载后仍可直接查看和编辑;当前 Activity 不影响脚本编辑。
|
|
958
1071
|
|
|
959
1072
|
### 脚本列表
|
|
960
1073
|
|
|
@@ -1175,16 +1288,16 @@ Linux: ~/.local/share/android-midscene-automation
|
|
|
1175
1288
|
|
|
1176
1289
|
推荐:
|
|
1177
1290
|
|
|
1178
|
-
-
|
|
1179
|
-
-
|
|
1291
|
+
- 使用“等待出现”判断下个页面核心元素,或添加“等待 Activity”明确目标页面。
|
|
1292
|
+
- 检测到 Activity 变化时可以选择继续在当前脚本录制;也可以拆成两个脚本,再用“连接脚本”串联。
|
|
1180
1293
|
- 单 Activity App 不要依赖 Activity 变化,应使用页面核心元素判断是否已进入目标状态。
|
|
1181
1294
|
|
|
1182
|
-
##
|
|
1295
|
+
## 连接脚本后为什么没有进入目标页面
|
|
1183
1296
|
|
|
1184
|
-
-
|
|
1185
|
-
-
|
|
1186
|
-
-
|
|
1187
|
-
-
|
|
1297
|
+
- 连接脚本列表会显示同一 App 的其他已保存脚本,不受入口 Activity 限制。
|
|
1298
|
+
- 连接操作本身不会点击页面或主动跳转,前面的点击、输入或启动 App 必须先让设备进入目标脚本需要的页面。
|
|
1299
|
+
- 目标脚本绑定了入口 Activity 时,回放会等待该 Activity;未绑定时会直接从当前画面执行。
|
|
1300
|
+
- 跨页面连接前建议添加“等待 Activity”或“等待出现”,便于确认页面已经切换完成。
|
|
1188
1301
|
|
|
1189
1302
|
## 为什么在桌面点击 App 后回放无效
|
|
1190
1303
|
|
|
@@ -1211,7 +1324,7 @@ Linux: ~/.local/share/android-midscene-automation
|
|
|
1211
1324
|
如果 App 是单 Activity 架构,优先用:
|
|
1212
1325
|
|
|
1213
1326
|
```text
|
|
1214
|
-
|
|
1327
|
+
等待出现 页面核心元素
|
|
1215
1328
|
```
|
|
1216
1329
|
|
|
1217
1330
|
## 什么时候用可选步骤
|
|
@@ -1245,6 +1358,19 @@ Linux: ~/.local/share/android-midscene-automation
|
|
|
1245
1358
|
|
|
1246
1359
|
# 项目更新记录
|
|
1247
1360
|
|
|
1361
|
+
## v0.2.2
|
|
1362
|
+
- 更新 Vben 风格的浅色后台界面:蓝色主色、白色卡片、浅灰背景、可折叠侧边栏与顶部页签。
|
|
1363
|
+
- 新增“概览 → 分析页”,根据已保存脚本和真实执行记录分别汇总 Midscene、Appium 测试数据。
|
|
1364
|
+
- 修复配置加载失败后出现空白可保存表单的问题,增加独立错误提示和重试;后端断线后自动尝试重连并支持手动重连,保留页面编辑内容。
|
|
1365
|
+
- Appium 配置自动保存失败后保留最新待保存内容并提供“重试保存”;修复切换或关闭 Appium 页签后,离开页面时未保存草稿保护失效的问题。
|
|
1366
|
+
- Appium 顶部工具栏改为随页面布局排列,窄屏自动换行,避免遮挡面包屑;统一全站样式与中文组件文案,合并重复主题声明。
|
|
1367
|
+
- 完善隔离数据环境下的浏览器回归测试,以及请求校验、配置保护、自动保存重试和统计口径测试。
|
|
1368
|
+
|
|
1369
|
+
## v0.2.1
|
|
1370
|
+
- 侧边栏底部新增“帮助与版本”入口。
|
|
1371
|
+
- AI 识别预设提示词支持编辑测试场景名称和提示词内容,默认预设与自定义预设均可修改并自动保存。
|
|
1372
|
+
- AI 识别启用分支后可勾选“启用兜底”,再选择进入左侧 true 或右侧 false 分支;正常识别结果不受影响。
|
|
1373
|
+
|
|
1248
1374
|
## v0.1.43
|
|
1249
1375
|
- 新增独立的“提示词优化模型”,统一用于优化 AI 识别提示词、报告提示词和生成回放测试报告总结;AI 识别与回放报告均可输入简要要求后由模型补充提示词,模型测试成功改为弹窗提示。
|
|
1250
1376
|
- 回放设置新增报告模板选择,不选择时使用默认测试报告;开启报告总结后会在回放前检测提示词优化模型,模型不可用时弹窗提示并继续生成默认格式的基础报告。总结请求失败、超时或返回空内容时同样保留基础报告,不改变测试结果。
|
package/USAGE.md
CHANGED
|
@@ -4,9 +4,54 @@
|
|
|
4
4
|
|
|
5
5
|
本文档随 npm 包发布,也可以从 README 的“功能文档”直接打开。常见问题请查看 [FAQ.md](./FAQ.md)。
|
|
6
6
|
|
|
7
|
-
AI 识别的场景选择、预设提示词、持续观察、分支、截图去重及超时配置,请查看 [AI
|
|
7
|
+
Appium 各流程节点的用途和配置方式,请查看 [流程节点操作说明](./流程节点操作说明.md)。AI 识别的场景选择、预设提示词、持续观察、分支、截图去重及超时配置,请查看 [AI 识别操作说明](./AI识别操作说明.md)。
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## 页面内帮助
|
|
10
|
+
|
|
11
|
+
点击侧边栏最下方的问号图标,可以在“帮助与版本”窗口中查看:
|
|
12
|
+
|
|
13
|
+
- 当前工具版本和对应的 Midscene 版本。
|
|
14
|
+
- Vue、Element Plus、Appium、Midscene、Vue Flow、OpenCV.js、Vite 和 TypeScript 等主要技术及版本。
|
|
15
|
+
- 本操作说明。
|
|
16
|
+
- 常见问题和各版本更新记录。
|
|
17
|
+
|
|
18
|
+
Midscene 操作说明读取 `USAGE.md`,Appium 操作说明读取 `流程节点操作说明.md`,AI 识别操作说明读取 `AI识别操作说明.md`,常见问题和更新记录分别读取 `FAQ.md` 与 `CHANGELOG.md`;文档更新后页面内容会同步更新。
|
|
19
|
+
|
|
20
|
+
## Midscene 操作说明
|
|
21
|
+
|
|
22
|
+
### 配置 Midscene 模型
|
|
23
|
+
|
|
24
|
+
进入“参数配置”,在 Midscene 模型区域选择模型提供方并填写所需参数。Midscene 执行依赖支持图片输入的多模态模型,填写后应先点击测试,确认模型可以正常响应。
|
|
25
|
+
|
|
26
|
+
### 生成测试脚本
|
|
27
|
+
|
|
28
|
+
进入“Midscene > 测试脚本生成”,填写脚本名称、场景标题、目标 App 和测试需求,也可以上传用例文件。点击“AI 生成”后检查生成步骤,确保测试数据、操作目标和成功条件准确。
|
|
29
|
+
|
|
30
|
+
### 自定义步骤编排
|
|
31
|
+
|
|
32
|
+
在测试脚本生成页面切换到“自定义步骤编排”,可以逐条添加操作、等待、查询和判断步骤。每条指令只描述一个明确目标,页面跳转后使用可观察的页面元素作为等待条件。
|
|
33
|
+
|
|
34
|
+
### 编辑并保存脚本
|
|
35
|
+
|
|
36
|
+
生成脚本后可以查看、编辑或复制代码。确认内容后点击“保存脚本”,保存的脚本会出现在“自动化测试”页面中。
|
|
37
|
+
|
|
38
|
+
### 执行 Midscene 脚本
|
|
39
|
+
|
|
40
|
+
进入“Midscene > 自动化测试”,选择脚本和 Android 设备后点击“开始执行”。执行期间保持设备亮屏和解锁,Midscene 会根据当前画面理解目标并执行操作。
|
|
41
|
+
|
|
42
|
+
### 停止执行
|
|
43
|
+
|
|
44
|
+
脚本运行期间点击顶部“停止执行”可以中止后续步骤。停止后查看执行输出,确认最后完成的步骤和停止位置。
|
|
45
|
+
|
|
46
|
+
### 查看执行输出
|
|
47
|
+
|
|
48
|
+
自动化测试页面会实时显示步骤状态、耗时和错误信息。执行失败时先检查模型配置、ADB 连接、设备画面以及指令中的目标描述是否清晰。
|
|
49
|
+
|
|
50
|
+
### Midscene 编写建议
|
|
51
|
+
|
|
52
|
+
一条指令只完成一个目标;输入、点击和等待尽量拆分;等待条件应描述页面中可观察到的稳定元素;不要在同一步骤中同时处理大量弹窗和业务操作。组件 ID 稳定并需要大量重复回放时,可以改用 Appium 流程。
|
|
53
|
+
|
|
54
|
+
## Appium 使用前准备
|
|
10
55
|
|
|
11
56
|
### 1. 连接 Android 设备
|
|
12
57
|
|
|
@@ -115,14 +160,81 @@ App 包名是必填项,只能从“参数配置”中已经添加的“预设
|
|
|
115
160
|
- 点击节点右上角删除按钮可移除节点,流程引用会自动修正。
|
|
116
161
|
- 浏览器刷新后会保持当前功能页面和 Appium 工作区 Tab;存在未保存修改时,刷新或关闭页面前会提示保存。
|
|
117
162
|
|
|
118
|
-
###
|
|
163
|
+
### 跨 Activity 录制
|
|
119
164
|
|
|
120
|
-
|
|
165
|
+
录制点击后如果检测到 Activity 发生变化,系统会提示选择继续录制或结束并保存。需要把多个页面保存在同一脚本时选择继续,等待新页面组件树刷新后即可录制后续操作;希望按页面拆分时,结束当前脚本并在新 Activity 中创建脚本,再通过“连接脚本”组合流程。
|
|
121
166
|
|
|
122
|
-
|
|
167
|
+
跨页面流程建议在跳转操作后添加“等待 Activity”,明确目标页面并提高回放稳定性。加载历史脚本时,即使手机当前 Activity 与脚本入口 Activity 不同,也可以查看和编辑流程;回放前应确认启动节点、等待 Activity 或前置操作能把设备带到正确页面。
|
|
123
168
|
|
|
124
169
|
## 操作说明
|
|
125
170
|
|
|
171
|
+
### 当前操作分类
|
|
172
|
+
|
|
173
|
+
- 组件操作:录制点击、录制输入、提取变量、清空输入、长按、存在则点击、存在则输入、存在则清空。
|
|
174
|
+
- 设备操作:点击坐标、系统返回、Home 键、最近任务、电源键、滑动、双指缩放、启动 APP、停止 APP、启动相册、清除 APP 数据。
|
|
175
|
+
- 判断与等待:判断存在、判断勾选、文字点击、AI 识别、图像判断、等待出现、等待消失、等待 Activity。
|
|
176
|
+
- 检测画面变化:在三级菜单中分别添加“开始”和“结束”,对比指定区域前后的画面。
|
|
177
|
+
- 循环:添加有界循环、进入下一次循环和退出循环。进入下一次循环会跳过本轮剩余节点;退出循环会执行目标循环结束后的流程。
|
|
178
|
+
- 流程控制:连接脚本、终止流程、输出日志和添加延时。
|
|
179
|
+
|
|
180
|
+
旧脚本中的“断言存在”和“断言文本”仍可回放,但新流程统一使用当前菜单中的判断与等待操作。
|
|
181
|
+
|
|
182
|
+
### 提取变量
|
|
183
|
+
|
|
184
|
+
读取选中组件的文字或属性并保存为脚本变量,后续输入、判断、定位和日志节点可以使用 `{{变量名}}` 引用。
|
|
185
|
+
|
|
186
|
+
### 停止 APP
|
|
187
|
+
|
|
188
|
+
停止指定包名的 App 进程,不卸载应用,也不清除登录信息和本地数据。节点中可以修改目标包名。
|
|
189
|
+
|
|
190
|
+
### 启动相册
|
|
191
|
+
|
|
192
|
+
打开设备可用的系统相册或常见相册应用,只负责进入相册,不自动选择照片或视频。
|
|
193
|
+
|
|
194
|
+
### 清除 APP 数据
|
|
195
|
+
|
|
196
|
+
清除目标应用数据并恢复初始状态,会删除登录信息和本地设置。该操作只允许放在流程开始位置,使用前应确认测试数据可以重置。
|
|
197
|
+
|
|
198
|
+
### 判断勾选
|
|
199
|
+
|
|
200
|
+
读取原生 Checkbox、RadioButton 或 Switch 的真实 checked 状态,并按勾选或未勾选进入对应分支。普通图片控件应改用图像判断。
|
|
201
|
+
|
|
202
|
+
### 文字点击
|
|
203
|
+
|
|
204
|
+
按指定文字精确或模糊查找原生组件,匹配后点击并进入成功分支,未匹配时进入另一分支。它不识别图片或自绘画面中的文字。
|
|
205
|
+
|
|
206
|
+
### AI 识别
|
|
207
|
+
|
|
208
|
+
将设备截图发送给视觉模型,可以执行单帧识别、持续观察或检测命中后提前结束。默认按顺序继续执行;启用分支后根据识别结果进入不同路径。
|
|
209
|
+
|
|
210
|
+
### 图像判断
|
|
211
|
+
|
|
212
|
+
使用本地 OpenCV 判断模板、图片勾选状态、黑屏、区域颜色或多帧变化,不调用模型。固定图标和稳定视觉特征适合使用该操作。
|
|
213
|
+
|
|
214
|
+
### 检测画面变化
|
|
215
|
+
|
|
216
|
+
从三级菜单分别添加“开始”和“结束”。开始节点保存指定区域的基准截图,结束节点与对应基准比较并在日志和报告中记录变化结果。
|
|
217
|
+
|
|
218
|
+
### 循环
|
|
219
|
+
|
|
220
|
+
在最大执行次数范围内重复执行循环体,可以固定次数运行,也可以根据元素出现或消失提前退出。最大次数用于防止脚本无限循环。
|
|
221
|
+
|
|
222
|
+
### 进入下一次循环
|
|
223
|
+
|
|
224
|
+
跳过当前轮剩余节点并进入指定的当前或外层循环下一轮。达到最大次数后执行循环结束路径。
|
|
225
|
+
|
|
226
|
+
### 退出循环
|
|
227
|
+
|
|
228
|
+
立即结束指定的当前或外层循环,随后执行该循环结束后的流程。
|
|
229
|
+
|
|
230
|
+
### 终止流程
|
|
231
|
+
|
|
232
|
+
主动结束整次回放,后续节点和连接脚本不再执行。系统仍会保存本次日志和报告。
|
|
233
|
+
|
|
234
|
+
### 输出日志
|
|
235
|
+
|
|
236
|
+
输出自定义内容和日志关键字,支持 `{{变量名}}`。适合标记测试阶段、记录读取值或为报告提供检索标识。
|
|
237
|
+
|
|
126
238
|
### 录制点击
|
|
127
239
|
|
|
128
240
|
用途:点击某个组件。
|
|
@@ -772,10 +884,10 @@ Home 键
|
|
|
772
884
|
|
|
773
885
|
1. 在上方“提示词优化模型”填写 Base URL、API Key、Model Name,并点击“测试并保存”。该文本模型同时用于优化提示词和生成回放报告总结。
|
|
774
886
|
2. 开启“回放报告总结”。开关和报告提示词修改后自动保存。
|
|
775
|
-
3.
|
|
887
|
+
3. 在回放按钮的设置中选择报告模板;不选择时使用默认测试报告。默认格式包括测试概览(脚本名称、起止时间、结果、总时长)、执行配置及节点参数、用例描述表格、失败详情和汇总,也可以选择出图时间分析或自定义模板。
|
|
776
888
|
4. 回放结束后将脱敏日志、主脚本与连接脚本配置发送给总结模型,生成的 Markdown 使用原回放报告路径,保存在配置的报告输出目录(默认 `output`);完成日志会显示报告路径。
|
|
777
889
|
|
|
778
|
-
|
|
890
|
+
开启报告总结后,工具会在回放前验证提示词优化模型。模型不可用时,开关旁会提示“模型不可用,使用默认模板”,回放仍会继续并生成基础报告。总结在设备操作结束后生成,页面会显示生成进度,总结耗时不计入测试总时长。关闭时继续生成原基础报告且不调用总结模型;请求失败、超时或返回空内容时保留基础报告和原始日志,并输出失败原因,不改变测试结果。模型请求最多等待 60 秒。
|
|
779
891
|
|
|
780
892
|
报告不会向模型发送截图和图片模板。为控制输入大小,脚本配置最多保留约 50000 字符,日志最多保留约 100000 字符;超限时保留头尾并标注中段省略,生成报告也会注明信息不完整。模型的原因分析属于辅助判断,应结合原始日志核实。
|
|
781
893
|
|
|
@@ -786,7 +898,7 @@ Home 键
|
|
|
786
898
|
- 新脚本需要填写名称并选择预设 App 后保存。
|
|
787
899
|
- 从顶部脚本下拉框或“脚本列表”加载历史脚本后,再次点击“保存”会更新原脚本,不会因为名称相同而报错。
|
|
788
900
|
- 脚本数据只保存流程图 `flow_json`,其中包含主流程、判断分支、连接关系、节点备注和页面检查点。
|
|
789
|
-
-
|
|
901
|
+
- 已保存脚本加载后仍可直接查看和编辑;当前 Activity 不影响脚本编辑。
|
|
790
902
|
|
|
791
903
|
### 脚本列表
|
|
792
904
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "android-midscene-automation",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/oooooooko/android-midscene-automation.git"
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
"vite.config.ts",
|
|
24
24
|
"README.md",
|
|
25
25
|
"USAGE.md",
|
|
26
|
-
"
|
|
26
|
+
"流程节点操作说明.md",
|
|
27
|
+
"AI识别操作说明.md",
|
|
27
28
|
"FAQ.md",
|
|
28
29
|
"CHANGELOG.md"
|
|
29
30
|
],
|