安装应用
安装应用 用于在真机或模拟器上远程安装指定的应用安装包,支持 APK(安卓)、IPA(iOS)等格式。它常作为移动端自动化流程的准备步骤,用于部署测试包、灰度包,适用于自动化回归、兼容性测试等场景。
指令标识:InstallApplication
指令类型:移动端指令
指令描述:在移动设备上安装指定应用程序
先选使用方式
Section titled “先选使用方式”工作流支持「可视化编排」和「代码编排」两种创建方式。安装应用 在两种方式里都能用,核心业务参数一致,区别主要是你通过界面配置,还是通过 Python 脚本配置。
| 方式 | 怎么用 | 适合人群 |
|---|---|---|
| 可视化编排(推荐先学) | 拖入「安装应用」节点,在右侧表单填写安装包路径并选择是否覆盖安装 | 大多数用户,零代码,适合快速搭建和调试 |
| 代码编排(Python) | 在脚本中调用 bots.installApplication(appPath="...", cover=False) | 熟悉代码、需要复用脚本或批量生成流程的用户 |
第一次使用建议先用可视化编排跑通,再迁移到 Python 代码编排。下方「参数说明」同时给出界面字段和代码参数名,方便两种方式对应。
什么时候用?
Section titled “什么时候用?”- 自动化测试前,需要把最新版本的应用部署到测试设备上。
- 需要把灰度版本投放到指定测试设备。
- 需要在多台设备上批量安装相同应用,提升测试效率。
- 在不同型号设备上安装应用,进行兼容性测试。
- 设备已连接并就绪:Android 需打开 USB 调试并允许安装未知来源;iOS 需信任企业证书或使用签名正确的安装包。
appPath可公网访问或本地可读,支持http/https协议(不支持 ftp 等其他协议)。- 已确认是否需要覆盖同包名应用;如需先卸载,可配合 卸载应用。
【图片占位 | command-installapplication-config】 截图内容建议: 截一张可视化编排页面,画布中选中「安装应用」节点,右侧属性面板展示「安装包路径」「是否覆盖安装」两个区域。 标注建议: 用 ① 标出画布中的「安装应用」节点,用 ② 标出安装包路径输入框,用 ③ 标出是否覆盖安装开关,用 ④ 标出运行按钮或成功状态。 用户看完应能明白: 这个节点主要只需要填写安装包路径,是否覆盖安装按需选择。
可视化编排:从 0 到跑通
Section titled “可视化编排:从 0 到跑通”下面用一个常见场景演示:在测试设备上安装最新测试包,为后续自动化测试做准备。按 4 步即可跑起来:
- 在移动端流程中添加 安装应用 节点。
- 在 安装包路径 中填写安装包地址:
https://example.com/assets/apps/ExampleApp-1.0.0.apk- 根据需要设置 是否覆盖安装(同包名应用是否覆盖)。
- 点击运行,确认设备上完成安装,再继续后续的打开应用、自动化测试等节点。
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| 安装包路径 | appPath | String | 是 | - | 要安装的应用包路径,不能为空,支持 http/https 协议。 |
| 是否覆盖安装 | cover | Boolean | 是 | false | 是否覆盖安装同包名应用。 |
该指令无输出参数。是否安装成功建议通过运行日志,或后续 打开应用 节点来确认。
- 节点运行成功,日志中没有安装失败、设备未连接等错误。
- 目标设备上出现已安装的应用。
- 若设置了覆盖安装,同包名应用被新包覆盖。
- 后续打开应用节点能正常启动该应用。
运行后你会看到(以上面场景为例):
- 设备上成功安装了测试包,应用图标出现在设备桌面。
- 运行日志显示安装成功记录。
【图片占位 | command-installapplication-success】 建议放一张运行成功截图:「安装应用」节点为成功状态,配合一张设备上已出现应用图标的截图。图片用于说明这个节点跑通后用户应该看到什么。
| 现象 / 报错原文 | 可能原因 | 处理建议 |
|---|---|---|
| 报错提示安装包路径为空 | appPath 未填写 | 检查「安装包路径」是否填写;代码编排确认 appPath 已传入 |
| 安装包下载失败 / 无法访问 | 路径不可达或协议不支持 | 确认地址可访问、使用 http/https 协议,执行环境网络可达 |
| 安装失败(签名 / 证书问题) | iOS 未信任证书,或包未正确签名 | iOS 信任企业证书或使用签名正确的安装包 |
| 安装失败(设备未就绪) | 设备未连接、USB 调试未开启 | 确认设备已连接,Android 打开 USB 调试并允许未知来源安装 |
| 同包名安装冲突 | 已存在同包名应用 | 设置 cover 为覆盖安装,或先调用卸载应用 |
Python 代码编排
Section titled “Python 代码编排”代码编排以 Python 为主。运行上下文由代码编排模板创建,示例里只需要关注业务指令本身。
# 在设备上安装测试包,不覆盖同包名应用bots.installApplication( appPath="https://example.com/assets/apps/ExampleApp-1.0.0.apk", cover=False,)如需覆盖安装同包名应用,将 cover 设为 True:
bots.installApplication( appPath="https://example.com/assets/apps/ExampleApp-1.0.0.apk", cover=True,)可视化表单里的「安装包路径」「是否覆盖安装」分别对应代码里的 appPath、cover。如果你想在工作流中通过节点动态编排指令,可使用 执行指令(XML)节点。
Q1:appPath 支持哪些协议?
Section titled “Q1:appPath 支持哪些协议?”A: appPath 必须是可公网访问或本地可读的路径,支持 http/https 协议,不支持 ftp 等其他协议。
Q2:如果设备已存在同包名应用会怎样?
Section titled “Q2:如果设备已存在同包名应用会怎样?”A: 若 cover 设为覆盖安装,会直接覆盖同包名应用;如需先卸载,请调用 卸载应用 指令。
Q3:iOS 设备安装有什么要求?
Section titled “Q3:iOS 设备安装有什么要求?”A: iOS 设备需确保已信任企业证书或使用签名正确的安装包;Android 设备需打开 USB 调试并允许安装未知来源。