如何在python中为多个测试用例编写Yaml?

时间:2018-11-30 06:50:33

标签: python python-2.7 yaml robotframework pyyaml

我正在使用python学习Robot框架。我正在寻找将数据传递到两个不同的测试用例的方法。在Java中,这很容易。我为yaml创建了一个类,并在yaml文件中提供了两个单独的测试用例的数据。如何在Python中拥有这样的架构?当我尝试在yaml文件中提供数据时,出现重复键错误。 有人可以告诉我我做错了什么,还可以建议使用单个Yaml将数据提供给多个测试用例的方法吗? Java_yaml Python_yaml

1 个答案:

答案 0 :(得分:0)

确定您收到重复的密钥错误吗?因为有了 您提出的输入将获得一个映射值,这里不允许出现错误:

import sys
import ruamel.yaml

yaml_str = """\
Get_Request
  alias : 'amway1'
  session_url : 'url2'

Post_Request
    alias : 'amway2'
    session_url : 'url2'
"""

yaml = ruamel.yaml.YAML()
try:
    data = yaml.load(yaml_str)
except Exception as e:
    print(e)

给出:

mapping values are not allowed here
  in "<unicode string>", line 2, column 9:
      alias : 'amway1'
            ^ (line: 2)

这是因为您尝试使用多行普通标量作为 该YAML的开始,并且不允许使用它们(它们必须是简单的,而不是多行的)。 您可能忘了在:Get_Request之后插入冒号(Post_Request)。

Get_Request:
  alias : 'amway1'
  session_url : 'url2'

Post_Request:
  alias : 'amway2'
  session_url : 'url2'

(您还应始终以相同金额缩进您的YAML 键之前的空格,现在您有2和4个位置。那不是 生成有效YAML所必需的,解析器将接受它,但是它是 以便在人类检查您的输入时正确看到其结构。

相关问题