You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Robot Framework中自动执行指定ADB命令?

自动执行ADB命令的Robot Framework实现方案

步骤1:编写Python函数封装ADB命令

创建一个Python文件(如adb_utils.py),用subprocess模块封装需要执行的ADB命令:

import subprocess

def run_adb_commands(device_name):
    # 定义要执行的ADB命令序列
    adb_cmds = [
        f"adb -s {device_name} kill-server",
        f"adb -s {device_name} start-server",
        f"adb connect {device_name}",
        f"adb -s {device_name} uninstall io.appium.uiautomator2.server",
        f"adb -s {device_name} uninstall io.appium.uiautomator2.server.test"
    ]
    
    # 逐个执行命令
    for cmd in adb_cmds:
        try:
            subprocess.run(cmd, shell=True, check=True, capture_output=True, text=True)
            print(f"命令执行成功: {cmd}")
        except subprocess.CalledProcessError as e:
            print(f"命令执行失败: {cmd}, 错误信息: {e.stderr}")

步骤2:在Robot Framework中导入并调用函数

在你的Robot测试文件中,导入该Python模块,将函数作为自定义关键字使用:

*** Settings ***
Library    adb_utils.py
Library    AppiumLibrary

*** Test Cases ***
示例自动化测试
    # 先执行ADB修复命令
    Run ADB Commands    YOUR_WATCH_DEVICE_NAME
    # 启动Appium会话
    Open Application    http://localhost:4723/wd/hub    ${desired_capabilities}
    # ...后续测试步骤

步骤3:集成到错误处理或前置操作

如果需要在测试失败时自动触发修复命令,可结合Robot的Run Keyword On Failure关键字:

*** Settings ***
Library    adb_utils.py
Library    AppiumLibrary

*** Test Cases ***
带自动修复的测试用例
    Run Keyword On Failure    Run ADB Commands    YOUR_WATCH_DEVICE_NAME
    Open Application    http://localhost:4723/wd/hub    ${desired_capabilities}
    # ...测试操作

也可以将修复命令放在套件/测试前置操作中,确保每次测试前执行:

*** Settings ***
Library    adb_utils.py
Library    AppiumLibrary
Test Setup    Run ADB Commands    YOUR_WATCH_DEVICE_NAME

*** Test Cases ***
测试用例1
    Open Application    http://localhost:4723/wd/hub    ${desired_capabilities}
    # ...测试步骤

注意事项

  • 确保Mac环境中已配置Android SDK环境变量,adb命令可直接在终端执行
  • 替换YOUR_WATCH_DEVICE_NAME为实际设备名称(可通过adb devices命令获取)
  • 若需调整命令输出日志或错误处理逻辑,可修改Python函数中subprocess.run的参数

内容的提问来源于stack exchange,提问作者user22747995

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 01:38:20