验证应用是否存在
验证应用是否存在 用于检查当前设备上是否已安装指定的应用包(按包名判断)。它常用于在启动应用前做前置校验,或根据应用是否存在决定后续走安装、打开还是跳过分支,结果以布尔值保存到输出变量。
指令标识:MobileVerifyPackagePresent
指令类型:手机指令
指令描述:验证设备上指定应用包是否存在
先选使用方式
Section titled “先选使用方式”工作流支持「可视化编排」和「代码编排」两种创建方式。验证应用是否存在 在两种方式里都能用,核心业务参数一致,区别主要是你通过界面配置,还是通过 Python 脚本配置。
| 方式 | 怎么用 | 适合人群 |
|---|---|---|
| 可视化编排(推荐先学) | 拖入「验证应用是否存在」节点,填写应用包名并配置「将结果保存至」 | 大多数用户,零代码,适合快速搭建和调试 |
| 代码编排(Python) | 在脚本中调用 bots.mobileVerifyPackagePresent(appPackage="...", outKey="installed") | 熟悉代码、需要复用脚本或批量生成流程的用户 |
第一次使用建议先用可视化编排跑通,再迁移到 Python 代码编排。下方「参数说明」同时给出界面字段和代码参数名,方便两种方式对应。
什么时候用?
Section titled “什么时候用?”- 启动应用前先确认目标应用已安装,避免启动失败。
- 根据应用是否存在决定走安装、打开或跳过分支。
- 在自动化测试报告中记录设备上目标应用的安装情况。
- 当前流程已经连接并占用了一台可用的手机设备。
- 已知目标应用的包名(应用唯一标识)。
- 已规划好用于保存结果的输出变量名,便于后续节点引用。
可视化编排:从 0 到跑通
Section titled “可视化编排:从 0 到跑通”下面用一个常见场景演示:打开应用前先确认其已安装。按 3 步即可跑起来:
- 在工作流画布中添加 验证应用是否存在 指令,放在打开应用之前。
- 在右侧配置面板的 应用包名 中填写目标包名;在 将结果保存至 中填写变量名,例如
installed。 - 点击运行,确认输出变量为
true/false,再在后续 条件 节点中决定走打开还是安装分支。
【图片占位 | command-mobileverifypackagepresent-config】
截图内容建议: 截一张可视化编排页面,画布选中「验证应用是否存在」节点,右侧属性面板展示「应用包名」与「将结果保存至」两个区域。
标注建议: 用 ① 标出画布中的节点,用 ② 标出「应用包名」输入框,用 ③ 标出「将结果保存至」,用 ④ 标出运行按钮或成功状态。
用户看完应能明白: 核心是填写应用包名,结果以布尔值保存到输出变量。
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| 应用包名 | appPackage | Enum | 是 | - | 要校验是否安装的目标应用,从平台提供的应用列表中选择(取值为平台预置的应用枚举,对应各 App 的包名 / BundleId)。 |
| False结果处理 | falseResultHandling | Enum | 否 | OUTPUT_RESULT(输出结果) | 高级参数,定义验证结果为 False(未安装)时的行为,可选「输出结果(OUTPUT_RESULT)」继续流程、「抛出异常(THROW_EXCEPTION)」中断流程。 |
| 界面名称 | 代码属性名 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| 将结果保存至 | outKey | String | 否 | 保存校验结果:已安装为 true,未安装为 false。后续节点通过该变量名引用。 |
验证应用是否存在节点运行结束后状态为成功。- 运行日志中没有参数缺失、超时或执行失败等错误。
- 如果配置了输出变量,后续节点能够读取到符合预期的结果。
- 后续节点能够继续执行,流程没有因为该节点异常中断。
| 现象 / 报错原文 | 可能原因 | 处理建议 |
|---|---|---|
日志报 Mobile device not configured | 流程未连接设备 | 先执行连接/占用设备节点,或在全局变量中配置设备上下文 |
日志报 Mobile API ... business error | 移动端服务异常或设备失联 | 检查设备在线状态与移动端服务连通性,重连设备后重试 |
已安装却返回 false | 包名填写错误 | 核对应用包名是否完全正确(区分大小写与点分格式) |
| 输出变量为空 | 未配置「将结果保存至」 | 检查是否填写了 outKey,并确认后续引用的变量名一致 |
Python 代码编排
Section titled “Python 代码编排”代码编排以 Python 为主。运行上下文由代码编排模板创建,示例里只需要关注业务指令本身。
# 验证设备上是否安装了指定应用,结果保存到变量 installedbots.mobileVerifyPackagePresent( appPackage="com.example.app", outKey="installed",)可视化表单里的「应用包名」「将结果保存至」分别对应代码里的 appPackage、outKey。
如果你想在工作流中通过节点动态编排指令,可使用 执行指令(XML)节点。
Q1:包名怎么获取?
Section titled “Q1:包名怎么获取?”A: 包名是应用唯一标识(如 com.example.app)。可向应用提供方确认,或通过 获取当前应用信息 在应用运行时查看。
Q2:未安装会报错吗?
Section titled “Q2:未安装会报错吗?”A: 不会抛错。该指令把结果以布尔值写入输出变量,未安装时为 false,由你在后续节点决定走安装或跳过分支。