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

Robot Framework搭配Appium Library蓝牙测试中按当前页面执行操作的方法

实现方案

核心思路是用内置关键字Run Keyword And Return Status捕获页面检查的失败结果,不会直接标记测试失败,再将页面校准逻辑和蓝牙操作封装为独立关键字,接入Wait Until Keyword Succeeds实现重试。

步骤1:封装页面校准关键字

实现「检查页面→不符合则点击返回→最终校验页面」逻辑,支持多次点击返回适配多层级页面跳转场景:

*** Keywords ***
校准到目标页面
    [Arguments]    ${目标页面文本}    ${最大返回次数}=3
    # 循环检查页面,最多尝试指定次数返回
    FOR    ${i}    IN RANGE    ${最大返回次数}
        ${页面是否匹配}    Run Keyword And Return Status    Page Should Contain Text    ${目标页面文本}
        Exit For Loop If    ${页面是否匹配}
        Click Back
        Sleep    1s    # 等待页面跳转渲染完成,可根据应用响应速度调整
    END
    # 最终校验页面,失败则抛错触发上层重试
    Page Should Contain Text    ${目标页面文本}

步骤2:封装带前置校验的蓝牙执行关键字

将页面校准作为蓝牙指令的前置操作,打包为可重试的最小执行单元:

*** Keywords ***
执行蓝牙指令带前置校验
    [Arguments]    ${目标页面文本}    ${蓝牙指令关键字}    @{蓝牙指令参数}
    # 执行蓝牙操作前先校准到目标页
    校准到目标页面    ${目标页面文本}
    # 执行实际的蓝牙业务指令
    Run Keyword    ${蓝牙指令关键字}    @{蓝牙指令参数}

步骤3:接入重试逻辑

调用时直接套入Wait Until Keyword Succeeds即可实现指定次数的重试:

# 示例:重试5次,每次间隔10秒,执行蓝牙连接指令
Wait Until Keyword Succeeds    5x    10s    执行蓝牙指令带前置校验    ${my_page_text}    连接蓝牙设备    ${设备MAC地址}

如果你不需要多次返回的逻辑,去掉校准到目标页面里的FOR循环即可,单次检查返回的逻辑和你描述的需求完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 16:06:10