首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要使用Robot Framework从YAML文件中获取值

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

Stack Overflow用户
提问于 2019-08-29 16:48:14
回答 1查看 3K关注 0票数 4

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

代码语言:javascript
复制
"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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-29 19:21:42

这里有一个让它启动并运行的方法:

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

下面是一个执行请求的示例.robot文件:

代码语言:javascript
复制
*** 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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57706421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档