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

如何在Robot Framework中提取JSON的id值并存储为变量

在Robot Framework中提取动态日志里的ID并存储为变量

实现步骤

假设你的日志内容是合法的JSON格式(如你提供的示例),可以通过以下步骤提取id值并存储为变量:

  1. 获取日志内容:如果日志存放在文件中,先读取文件内容;如果日志已经在某个变量里,直接使用该变量即可。
  2. 解析JSON字符串:将日志的JSON字符串转换为Robot Framework可操作的Python对象(列表/字典)。
  3. 提取目标ID:从解析后的对象中取出id字段的值。
  4. 复用变量:将提取到的ID存入变量,用于打印或后续业务场景。

示例代码

方法一:使用BuiltIn+json库

*** Settings ***
Library    BuiltIn
Library    json
Library    OperatingSystem

*** Test Cases ***
Extract ID from Dynamic Log
    # 读取日志文件内容(若日志已在变量中,可跳过此步)
    ${log_content}=    Get File    ./your_log_file.json
    # 解析JSON字符串为Python对象
    ${json_data}=    Evaluate    json.loads('''${log_content}''')    json
    # 提取数组第一个对象的id值
    ${target_id}=    Set Variable    ${json_data}[0]['id']
    # 打印ID到控制台
    Log To Console    提取到的ID: ${target_id}
    # 后续可直接使用${target_id},比如作为请求参数
    # Example:    Create Session    my_session    https://example.com
    #             Post Request    my_session    /api/resource    json={"id": "${target_id}"}

方法二:使用RequestsLibrary简化解析

如果你已经引入了RequestsLibrary,也可以用它的JSON解析关键字:

*** Settings ***
Library    RequestsLibrary
Library    OperatingSystem

*** Test Cases ***
Extract ID with RequestsLibrary
    ${log_content}=    Get File    ./your_log_file.json
    # 直接解析JSON字符串
    ${json_data}=    Decode JSON from String    ${log_content}
    ${target_id}=    Set Variable    ${json_data}[0]['id']
    Log To Console    提取到的ID: ${target_id}

注意事项

  • 确保日志内容是合法的JSON格式,否则解析步骤会抛出错误。
  • 如果日志不是文件而是运行时生成的字符串变量,直接替换${log_content}为对应变量即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 20:55:20