python测试驱动开发,python接口自动化数据驱动
在实际的测试工作中,通常需要对几组不同的输入数据进行相同的测试操作步骤,以验证我们软件的质量。这种测试在功能测试中耗费大量的人力物力,但在自动化上很容易实现。只要实现测试操作步骤,然后以数据驱动的形式注入一组组测试数据,就可以实现。
在前一篇文章中,我们学习了参数化。当数据量很大时,我们可以将数据存储在外部文件中,使用时将文件中的数据读出,方便了测试数据的管理。它与测试用例分开管理,外部数据源YAML、JSON、Excel和CSV可以用来管理测试数据。
YAML是一种易读的语言,适用于表示编程语言的数据结构,可用于不同程序之间的数据交换,具有丰富的表现力和可扩展性,易于使用。数据类型由缩进或符号表示。
Pyyaml模块用于处理Python中的yaml格式数据,主要使用yaml.safe_dump()和yaml.safe_load()函数将Python值和YAML格式数据相互转换。YAML格式的文件通常用于存储测试数据。
固定
安装Pyyaml外壳
创建用例文件和数据文件来完成数据驱动的测试用例,创建一个文件夹testdata,在这个文件夹下创建data.yml和test_yaml.py文件。
创建一个data.yml文件:
-
- 1
- 2
-
- 20
-30使用以下代码创建“test_yaml.py ”:
导入pytest
导入yaml
@ pytest . mark . parameterize( a,b ,yaml.safe_load(open(datas.yml ,\
encoding=utf-8 )))
def test_foo(a,b):
Print(fa b={a b} )代码分析:
列表数据在yaml文件中定义,data.yml文件对象通过open()方法获取。使用yaml.safe_load()加载file对象,将yaml格式文件转换成Python值,传递给用例生成多个用例执行。
运行结果:
遗漏.
test_params.py:test_foo[1-2]
test _ params . py:test _ foo[20-30]
省略.运行结果中[1-2]和[20-30]代码传入的两组参数,传入test_foo()用例方法执行,分别生成两个测试结果。
以上,pytest结合YAML实现数据驱动,YAML文件作为测试用例的数据源,控制测试用例的执行,使得测试用例数据的维护更加方便快捷。
【相关阅读】
Python是测试开发高级,挑战阿里P6,年薪50W!干货一篇文章修复pytest自动化测试框架(1)干货一篇文章修复pytest自动化测试框架(2) Python自动化测试(3): pytest参数化测试用例构建干货一篇文章修复Linux常见高频命令
转载请联系作者授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。