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

Robot Framework中验证失败时不终止用例执行的实现方法

Robot Framework 多组列表循环验证:失败不终止全用例执行方案

要实现单个验证失败时不终止整个测试用例、记录失败日志并继续执行剩余验证的需求,核心是利用Robot Framework的错误控制关键字,同时封装重复逻辑提升代码复用性。以下是优化后的实现方案:

优化后代码

*** Keywords ***
Validate List Pair
    [Arguments]    ${list1}    ${list2}    ${group_name}
    # 校验两个列表长度一致,避免索引越界
    Run Keyword And Continue On Failure    Should Be Equal As Integers    ${list1 length}=Get Length    ${list1}    ${list2 length}=Get Length    ${list2}    msg=${group_name} 两组列表长度不一致
    ${count}=    Get Length    ${list1}
    FOR    ${i}    IN RANGE    ${count}
        ${item1}=    Get From List    ${list1}    ${i}
        ${item2}=    Get From List    ${list2}    ${i}
        # 执行断言并捕获失败,继续后续步骤
        ${status}=    Run Keyword And Return Status    Should Be Equal    ${item1}    ${item2}    msg=${group_name} 第${i+1}个元素不匹配:预期[${item1}],实际[${item2}]
        # 记录每条验证的状态
        IF    ${status}
            Log    ${group_name} 第${i+1}个元素验证通过    INFO
        ELSE
            Log    ${group_name} 第${i+1}个元素验证失败    ERROR
        END
    END

*** Test Cases ***
Validating Dropdown
    # 第一组列表验证
    ${sums}=    Create List    1234    455    4689    9837
    ${sum2}=    Create List    1234    455    46    9837
    Validate List Pair    ${sums}    ${sum2}    第一组

    # 第二组列表验证
    ${sums3}=    Create List    12    455    4689    9837
    ${sum4}=    Create List    34    455    46    9837
    Validate List Pair    ${sums3}    ${sum4}    第二组

    # 第三组列表验证
    ${sums5}=    Create List    1234    455    4689    9837
    ${sum6}=    Create List    1234    455    4689    9837
    Validate List Pair    ${sums5}    ${sum6}    第三组

关键实现说明

  • 错误控制:使用Run Keyword And Return Status执行断言,它会返回布尔值表示断言是否成功,且失败时不会终止测试执行;搭配Run Keyword And Continue On Failure处理列表长度校验,确保长度不一致时仍能继续执行元素验证。
  • 状态记录:通过IF判断断言结果,分别记录INFO级别的成功日志和ERROR级别的失败日志,清晰追踪每条验证状态。
  • 代码复用:封装Validate List Pair关键字,统一处理两组列表的循环验证逻辑,避免重复代码。
  • 修正原代码问题:原代码中第二个循环错误使用了第一组列表的长度变量${sum_count},优化后通过关键字内部获取列表长度,彻底避免索引越界问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 09:37:33