首页 > 编程语言 >Python 自动化测试(四):数据驱动

Python 自动化测试(四):数据驱动

时间:2022-08-31 14:57:22浏览次数:76  
标签:文件 yaml Python YAML 测试 自动化 数据

⬇️ 点击“下方链接”,提升测试核心竞争力!

>>更多技术文章分享和免费资料领取

在实际的测试工作中,通常需要对多组不同的输入数据,进行同样的测试操作步骤,以验证我们的软件质量。这种测试,在功能测试中非常耗费人力物力,但是在自动化中,却比较好实现,只要实现了测试操作步骤,然后将多组测试数据以数据驱动的形式注入,就可以实现了。
前面文章学习了参数化,当数据量非常大的时候,我们可以将数据存放到外部文件中,使用的时候将文件中的数据读取出来,方便测试数据的管理。数据与测试用例分别管理,可以利用外部数据源 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 文件作为用例数据源,控制测试用例的执行,使测试用例数据维护更加方便快捷。
【相关阅读】

  • Python 测试开发实战进阶,挑战阿里P6+,年薪50W+!
  • 干货 | 一文搞定 pytest 自动化测试框架(一)
  • 干货 | 一文搞定 pytest 自动化测试框架(二)
  • Python 自动化测试(三): pytest 参数化测试用例构建
  • 干货 | 一文搞定 Linux 常用高频命令

活动推荐

本周四晚 8 点,霍格沃兹测试学院邀请到资深测试技术专家方程老师分享《Pytest 自动化测试最佳实践》主题公开课,通过动手实战,快速掌握 Pytest 进阶技能。

提升自己的核心竞争力吧
原文链接

⬇️ 点击“下方链接”,提升测试核心竞争力!

>>更多技术文章分享和免费资料领取

标签:文件,yaml,Python,YAML,测试,自动化,数据
From: https://www.cnblogs.com/Tester-muller/p/16643079.html

相关文章

  • Python 自动化测试(五): Pytest 结合 Allure 生成测试报告
    ⬇️点击“下方链接”,提升测试核心竞争力!>>更多技术文章分享和免费资料领取霍格沃兹出品《测试开发实战进阶》课程,资深测试架构师、开源项目作者亲授BAT大厂前沿......
  • python的反射
    反射--getattr 反射:用字符串数据类型的名字,来操作这个名字对应的函数/实例变量/绑定方法/各种方法......
  • Python_15面向对象
    一、面向对象概念和基本语法类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。方法:类中定义的函......
  • Python 测试开发实战进阶,技能对标阿里 P6+,挑战年薪 50W+!
    ⬇️点击“下方链接”,提升测试核心竞争力!>>更多技术文章分享和免费资料领取软件测试行业正处于大变革时期,在互联网业务快速迭代和质量保障要求下,各种新技术层出不穷,测试......
  • Python 测试开发 20+ 项目实战,提升 5 大测试核心技能
    ⬇️点击“下方链接”,提升测试核心竞争力!>>更多技术文章分享和免费资料领取软件测试行业从业门槛越来越高,传统手工测试人员逐渐被淘汰,而测试开发工程师则供不应求,成为B......
  • Python学习-Day2
    1、算数运算符/除10/20=0.5//取整数25//10=2%取余数25%10=5"幂 2"4=16*在字符串中计算结果就是字符串重复指定次数的结果eg:......
  • Python代码模板
    #!/usr/bin/envpython#-*-encoding:utf-8-*-classClassName:def__init__(self,arg1,arg2):self.arg1=arg1self.arg2=arg2......
  • 测试基础问题篇第一章
    什么是测试? 通俗的讲:就是弄清楚预期结果与实际结果的差别。测试就是通过各种方法找出软件中的潜在各种缺陷,提高软件质量,减少软件发布后因为软件缺陷而造成的商业损失......
  • 安卓手机手机用 QPython 写 Python:hello world
    1.安装QPython在应用市场中搜索QPython,搜到以后进行安装。我装过了,所以上图显示“打开”,你可能显示“安装”,点击即可。需要设置存储权限,方便在手机上存代码。......
  • centos7 安装python-libpcap
    1.安装依赖yuminstalllibpcaplibpcap-devel2.安装python依赖(python3.6以上版本)$pip3installCython$pip3installpython-libpca3.验证在python命令行......