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

RobotFramework如何使用table based testing批量测试JSON多值

可以实现,有两种常用的批量校验方案

方案1:单测试用例内循环校验

不需要拆分多个用例,在同一个用例里定义校验规则表后循环执行,适合快速完成全量校验:

*** Test Cases ***
批量校验JSON所有字段
    ${json}    Get File    foo.json    encoding=utf-8
    ${object}=    Evaluate    json.loads($json)    json
    # 定义校验规则:每一行对应[待校验键名, 预期取值]
    @{校验规则表}    Create List
    ...    ["key", "bar"]
    ...    ["key2", "预期值2"]
    ...    ["key3", 123]
    ...    # 剩余7个字段直接按格式补充即可
    FOR    ${当前键}    ${预期值}    IN    @{校验规则表}
        ${实际值}    Set Variable    ${object}[${当前键}]
        Should Be Equal    ${实际值}    ${预期值}    字段${当前键}校验失败
    END

方案2:数据驱动模板(单字段独立用例)

如果需要每个字段的校验结果独立统计、方便快速定位失败项,可以用测试模板实现表格驱动测试:

*** Settings ***
# 引入需要的库,Collections库可以简化字典操作,不需要可以不加
Library    Collections
# 声明测试模板,所有用例都会调用这个关键字执行
Test Template    单JSON字段校验
# 把JSON加载逻辑放到套件初始化,只执行一次,提升执行效率
Suite Setup    加载目标JSON文件

*** Variables ***
${JSON对象}    ${{None}}

*** Test Cases ***    待校验键名    预期取值
校验key字段    key    bar
校验key2字段    key2    预期值2
校验key3字段    key3    123
# 剩余7个字段直接按格式新增行即可

*** Keywords ***
加载目标JSON文件
    ${json文本}    Get File    foo.json    encoding=utf-8
    ${JSON对象}    Evaluate    json.loads($json_text)    json

单JSON字段校验
    [Arguments]    ${键名}    ${预期值}
    ${实际值}    Get From Dictionary    ${JSON对象}    ${键名}
    Should Be Equal    ${实际值}    ${预期值}

注意:你原有代码里的Evaluate | json.loads('''${json}''') | json写法有风险,若JSON内容包含三引号、特殊转义字符会触发语法错误,推荐用$变量名的形式直接传递变量给Evaluate,Robot Framework会自动处理类型转义。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 00:09:03