跳转到内容

验证应用是否存在

验证应用是否存在 用于检查当前设备上是否已安装指定的应用包(按包名判断)。它常用于在启动应用前做前置校验,或根据应用是否存在决定后续走安装、打开还是跳过分支,结果以布尔值保存到输出变量。

指令标识:MobileVerifyPackagePresent
指令类型:手机指令
指令描述:验证设备上指定应用包是否存在

工作流支持「可视化编排」和「代码编排」两种创建方式。验证应用是否存在 在两种方式里都能用,核心业务参数一致,区别主要是你通过界面配置,还是通过 Python 脚本配置。

方式怎么用适合人群
可视化编排(推荐先学)拖入「验证应用是否存在」节点,填写应用包名并配置「将结果保存至」大多数用户,零代码,适合快速搭建和调试
代码编排(Python)在脚本中调用 bots.mobileVerifyPackagePresent(appPackage="...", outKey="installed")熟悉代码、需要复用脚本或批量生成流程的用户

第一次使用建议先用可视化编排跑通,再迁移到 Python 代码编排。下方「参数说明」同时给出界面字段和代码参数名,方便两种方式对应。

  • 启动应用前先确认目标应用已安装,避免启动失败。
  • 根据应用是否存在决定走安装、打开或跳过分支。
  • 在自动化测试报告中记录设备上目标应用的安装情况。
  • 当前流程已经连接并占用了一台可用的手机设备。
  • 已知目标应用的包名(应用唯一标识)。
  • 已规划好用于保存结果的输出变量名,便于后续节点引用。

下面用一个常见场景演示:打开应用前先确认其已安装。按 3 步即可跑起来:

  1. 在工作流画布中添加 验证应用是否存在 指令,放在打开应用之前。
  2. 在右侧配置面板的 应用包名 中填写目标包名;在 将结果保存至 中填写变量名,例如 installed
  3. 点击运行,确认输出变量为 true/false,再在后续 条件 节点中决定走打开还是安装分支。

【图片占位 | command-mobileverifypackagepresent-config】
截图内容建议: 截一张可视化编排页面,画布选中「验证应用是否存在」节点,右侧属性面板展示「应用包名」与「将结果保存至」两个区域。
标注建议: 用 ① 标出画布中的节点,用 ② 标出「应用包名」输入框,用 ③ 标出「将结果保存至」,用 ④ 标出运行按钮或成功状态。
用户看完应能明白: 核心是填写应用包名,结果以布尔值保存到输出变量。

界面名称代码属性名类型必填默认值说明
应用包名appPackageEnum-要校验是否安装的目标应用,从平台提供的应用列表中选择(取值为平台预置的应用枚举,对应各 App 的包名 / BundleId)。
False结果处理falseResultHandlingEnumOUTPUT_RESULT(输出结果)高级参数,定义验证结果为 False(未安装)时的行为,可选「输出结果(OUTPUT_RESULT)」继续流程、「抛出异常(THROW_EXCEPTION)」中断流程。
界面名称代码属性名类型必填说明
将结果保存至outKeyString保存校验结果:已安装为 true,未安装为 false。后续节点通过该变量名引用。
  • 验证应用是否存在 节点运行结束后状态为成功。
  • 运行日志中没有参数缺失、超时或执行失败等错误。
  • 如果配置了输出变量,后续节点能够读取到符合预期的结果。
  • 后续节点能够继续执行,流程没有因为该节点异常中断。
现象 / 报错原文可能原因处理建议
日志报 Mobile device not configured流程未连接设备先执行连接/占用设备节点,或在全局变量中配置设备上下文
日志报 Mobile API ... business error移动端服务异常或设备失联检查设备在线状态与移动端服务连通性,重连设备后重试
已安装却返回 false包名填写错误核对应用包名是否完全正确(区分大小写与点分格式)
输出变量为空未配置「将结果保存至」检查是否填写了 outKey,并确认后续引用的变量名一致

代码编排以 Python 为主。运行上下文由代码编排模板创建,示例里只需要关注业务指令本身。

# 验证设备上是否安装了指定应用,结果保存到变量 installed
bots.mobileVerifyPackagePresent(
appPackage="com.example.app",
outKey="installed",
)

可视化表单里的「应用包名」「将结果保存至」分别对应代码里的 appPackageoutKey

如果你想在工作流中通过节点动态编排指令,可使用 执行指令(XML)节点。

A: 包名是应用唯一标识(如 com.example.app)。可向应用提供方确认,或通过 获取当前应用信息 在应用运行时查看。

A: 不会抛错。该指令把结果以布尔值写入输出变量,未安装时为 false,由你在后续节点决定走安装或跳过分支。