在理论的测试工作中,通常须要对多组不同的输出数据,进行同样的测试操作步骤,以验证咱们的软件品质。这种测试,在功能测试中十分消耗人力物力,然而在自动化中,却比拟好实现,只有实现了测试操作步骤,而后将多组测试数据以数据驱动的模式注入,就能够实现了。
后面文章学习了参数化,当数据量十分大的时候,咱们能够将数据寄存到内部文件中,应用的时候将文件中的数据读取进去,不便测试数据的治理。数据与测试用例别离治理,能够利用内部数据源 YAML、JSON、Excel、CSV 治理测试数据。
YAML 是一种容易浏览、适宜示意程序语言的数据结构、可用于不同程序间替换数据、丰盛的表达能力和可扩展性、易于应用的语言。通过缩进或符号来示意数据类型。
pyyaml 模块在 Python 中用于解决 YAML 格局数据,次要应用 yaml.safe_dump() 和 yaml.safe_load() 函数将 Python 值和 YAML 格局数据互相转换。工作中经常应用 YAML 格局的文件存储测试数据。
装置
案例
创立用例文件以及数据文件来实现数据驱动的测试案例,创立一个文件夹 testdata,在这个文件夹下创立 data.yml 和 test_yaml.py 文件。
创立 data.yml 文件:
创立“test_yaml.py”,代码如下:
代码剖析:
yaml 文件里定义了列表数据,通过 open() 办法获取 data.yml 文件对象,应用 yaml.safe_load() 加载这个文件对象,将 YAML 格式文件转换为 Python 值,别离传到到用例中生成多条用例别离执行。
运行后果:
运行后果中 [1-2] 和 [20-30] 代码传入的两组参数,别离传入 test_foo() 用例办法中执行,并且别离生成两条测试后果。
以上,pytest 组合 YAML 实现数据驱动,YAML 文件作为用例数据源,管制测试用例的执行,使测试用例数据保护更加方便快捷。