首页 > 解决方案 > 将 JSON 文件加载到机器人框架中

问题描述

我正在尝试加载 JSON 文件并使用这些值根据我的测试执行一些操作。我尝试加载我认为正确的 json 值,但是在尝试记录输出时,我收到错误消息:

Resolving variable '${qa["REQUEST_ID"]}' failed: TypeError: list indices must be integers or slices, not str

不完全确定这意味着什么,因为我是 Robot Framework 的新手。这是我为加载和记录值所做的:

    ${file}     Get File    ${CURDIR}/RequestIDs.json
    ${qa}       Evaluate    json.loads('''${file}''')   json 
    Log To Console          ${qa["REQUEST_ID"]}

Json 文件看起来像:

[
    {
        "REQUEST_ID" : 10513
    },
    {
        "REQUEST_ID" : 48156
    },
    {
        "REQUEST_ID" : 455131
    }
]

所以基本上我想获取"REQUEST_ID"值并在文本字段中输入。

标签: robotframework

解决方案


看看你的 json 的结构——它是一个字典列表;所以你必须首先指定你想要的列表成员,然后是它的 REQUEST_ID 字段:

Log To Console          ${qa[0]["REQUEST_ID"]

# print the value from all present dictionaries in the list:
FOR    ${member}    IN    @{qa}
    Log To Console          ${member["REQUEST_ID"]
END

推荐阅读