如何在 python 中为多个测试用例编写一个 yaml?
How to write a yaml in python for multiple test cases?
我正在使用 python 学习机器人框架。我正在寻找将数据传递给两个不同测试用例的方法。在 java,这很容易。我为yaml做了一个class,并在yaml文件中给出了两个独立测试用例的数据。 Python怎么会有这样的架构?当我尝试在 yaml 文件中提供数据时,出现重复键错误。
有人可以告诉我我做错了什么,并建议使用单个 yaml 将数据提供给多个测试用例的方法吗?
Java_yaml
Python_yaml
您确定收到重复键错误吗?因为随着
输入您提供的内容,您将获得此处不允许的映射值错误:
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,解析器将接受它,但它是
以在人类检查您的输入时正确查看结构)。
我正在使用 python 学习机器人框架。我正在寻找将数据传递给两个不同测试用例的方法。在 java,这很容易。我为yaml做了一个class,并在yaml文件中给出了两个独立测试用例的数据。 Python怎么会有这样的架构?当我尝试在 yaml 文件中提供数据时,出现重复键错误。 有人可以告诉我我做错了什么,并建议使用单个 yaml 将数据提供给多个测试用例的方法吗? Java_yaml Python_yaml
您确定收到重复键错误吗?因为随着 输入您提供的内容,您将获得此处不允许的映射值错误:
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,解析器将接受它,但它是 以在人类检查您的输入时正确查看结构)。