我需要使用 Robot Framework 从 YAML 文件中获取值

Pra*_*ngh 6 python json yaml robotframework

我正在尝试替换 YAML 文件中的值,但无法使用机器人框架编写正确的字符串。

"patch_id_bw_data":
    "pronghornResponseBody":
        "shimBehaviourHeader":
            "destinationURL": ""
            "method": "PATCH"
            "targetName": "naas"
        "customHeaders": {}
        "responseBody":
            - "op": "replace"
              "path": "/serviceCharacteristic"
              "value":
                  - "name": "bandwidth"
                    "value": ""
Run Code Online (Sandbox Code Playgroud)

需要用last--> "value": "200" 以下语法替换 Trying to do 中的 200。但无法替代:

设置为字典 ${patch_id_bw_data.pronghornResponseBody.responseBody[0].value} 值=200M

小智 6

这是启动并运行它的方法:

首先通过命令行运行以下 Python 命令来安装 PyYAML python 库: py -m pip install PyYAML 您可能还想查看PyYAML文档: https: //pyyaml.org/wiki/PyYAMLDocumentation

这是一个.robot用于执行请求操作的示例文件:

*** Settings ***
Library  yaml
Library  OperatingSystem
Library  Collections

*** Test Cases ***
Load YAML into Robot and edit it
  ${YAML}=  Get File  ${CURDIR}${/}data.yaml
  ${LOADED}=  yaml.Safe Load  ${YAML}
  Set To Dictionary  ${LOADED}[patch_id_bw_data][pronghornResponseBody][responseBody][0][value][0]  value=200
  ${OUTPUT}=  yaml.Dump  ${LOADED}
  Create File  newdata.yaml  ${OUTPUT}
Run Code Online (Sandbox Code Playgroud)

${OUTPUT}如果您希望在测试中使用它,则已经包含新编辑的 yaml 数据,但在示例中,我们使用关键字将其保存到新文件中Create File

在运行此机器人框架测试之前,请确保data.yaml测试文件夹中包含一个文件,其中包含您在问题中提供的示例数据。newdata.yaml运行机器人测试后,文件夹中将出现一个新文件,其中包含200正确的值字段。