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

Robot Framework使用IF条件实现IO卡类型识别方法

Robot Framework 实现IO卡类型自动识别判断方案

实现思路

执行按钮选择操作前,先从当前页面对象中提取对应卡槽的编号,匹配预置的IO卡槽类型映射表,通过Robot Framework内置的IF条件分支判断卡类型,匹配成功后再执行对应卡类型的专属操作,避免选错操作对象。
已知卡槽类型规则:

  • 标识为DI的卡槽属于输入卡(INPUT Card)
  • 标识为DO的卡槽属于输出卡(OUTPUT Card)

具体实现代码

1. 预置卡槽配置变量

把已知的IO卡槽配置定义为字典变量,后续配置变更只需要修改变量内容,不需要调整核心逻辑:

*** Variables ***
# IO卡槽类型映射,键为槽位号,值为卡类型标识
&{IO_CARD_MAP}    1=DI    2=DI    3=DI    4=DI    5=DO    6=DO    7=DI

2. 核心判断逻辑关键字

*** Keywords ***
校验卡类型并执行选择操作
    [Arguments]    ${slot_element}
    # 从传入的卡槽元素中提取槽位编号,适配页面上"SLOT X"格式的文本
    ${slot_text}    Get Text    ${slot_element}
    ${current_slot}    Get Regexp Matches    ${slot_text}    SLOT\\s+(\\d+)    1
    ${current_slot}    Convert To Integer    ${current_slot}

    # 先判断槽位是否在配置范围内
    IF    $current_slot not in $IO_CARD_MAP
        FAIL    槽位${current_slot}不在已知IO卡配置列表中,终止操作
    END

    # 匹配卡类型走对应分支
    ${card_flag}    Set Variable    ${IO_CARD_MAP}[${current_slot}]
    IF    '${card_flag}' == 'DI'
        Log    当前识别为*输入卡(INPUT Card)*,槽位号:${current_slot}
        # 此处替换为输入卡对应的实际选择操作步骤
        点击输入卡选择按钮
        校验输入卡点位加载状态
    ELSE IF    '${card_flag}' == 'DO'
        Log    当前识别为*输出卡(OUTPUT Card)*,槽位号:${current_slot}
        # 此处替换为输出卡对应的实际选择操作步骤
        点击输出卡选择按钮
        校验输出卡点位加载状态
    END

注意事项

  • 如果页面槽位编号不是从元素文本提取,而是存放在元素属性(比如data-slotid)中,只需要调整提取槽位号的对应代码即可,判断逻辑无需改动
  • 若需要双重校验避免配置和页面不一致,可以在IF分支内增加页面卡类型标题的校验步骤,比如判断当前卡区域是否包含INPUT/OUTPUT文本,和映射表匹配后再执行操作
  • 后续卡槽硬件配置调整时,直接更新${IO_CARD_MAP}的键值对即可完成适配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 07:33:24