我正在尝试替换YAML文件中的值,但是无法使用机器人框架编写正确的字符串。
"patch_id_bw_data":
"pronghornResponseBody":
"shimBehaviourHeader":
"destinationURL": ""
"method": "PATCH"
"targetName": "naas"
"customHeaders": {}
"responseBody":
- "op": "replace"
"path": "/serviceCharacteristic"
"value":
- "name": "bandwidth"
"value": ""
需要用200替换last--> "value": "200"
尝试使用以下语法。但无法替代:
设置为字典${patch_id_bw_data.pronghornResponseBody.responseBody[0].value}
值= 200M
答案 0 :(得分:2)
首先通过运行以下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}
${OUTPUT}
已经包含了新编辑的Yaml数据(如果您希望在测试中使用它),但是在此示例中,我们使用Create File
关键字将其保存到新文件中。
在运行此Robot Framework测试之前,请确保测试文件夹中包含data.yaml
文件,其中包含您在问题中提供的示例数据。运行机械手测试后,正确值字段中包含newdata.yaml
的文件夹中将有一个新文件200
。