我正在尝试替换我的YAML文件中的值,但无法使用robot框架编写正确的字符串。
"patch_id_bw_data":
"pronghornResponseBody":
"shimBehaviourHeader":
"destinationURL": ""
"method": "PATCH"
"targetName": "naas"
"customHeaders": {}
"responseBody":
- "op": "replace"
"path": "/serviceCharacteristic"
"value":
- "name": "bandwidth"
"value": ""需要在last--> "value": "200"中替换200,尝试使用下面的语法。但无法替代:
设置为Dictionary ${patch_id_bw_data.pronghornResponseBody.responseBody[0].value} value=200M
发布于 2019-08-29 19:21:42
这里有一个让它启动并运行的方法:
首先,通过命令行运行以下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}如果您希望在测试中使用新编辑的yaml数据,${OUTPUT}将已经包含它,但是在本例中,我们使用Create File关键字将其保存到一个新文件中。
在运行此Robot Framework测试之前,请确保测试文件夹中包含一个data.yaml文件,其中包含您在问题中给出的示例数据。在运行Robot测试之后,在正确的值域中包含200的文件夹中将有一个新文件newdata.yaml。
https://stackoverflow.com/questions/57706421
复制相似问题