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正确的值字段。