什么是数据驱动
数据驱动是一种自动化测试的方法,通过改变输入数据驱动测试执行,并最终引起测试结果的改变
简单来说,数据驱动是将测试数据和测试逻辑解耦,通过不同数据组合执行相同测试逻辑,从而增加测试的覆盖范围和灵活性
数据驱动在处理测试数据时,根据数据量大小采用不同的策略
对于数据量较小的测试用例,可以使用代码的参数化来实现数据驱动,直接在测试代码中定义和使用变量或参数来存储测试数据
对于数据量较大的情况,建议使用结构化的文件(如yaml、json等)来存储测试数据。可以将测试数据以结构化的方式存储在文件中,然后在测试用例中读取这些数据进行测试
数据驱动使用场景
数据驱动使用场景较为广泛,在App、Web、接口自动化测试中均能使用到数据驱动
测试步骤的数据驱动,既执行case中能够设置数据驱动
测试数据的数据驱动,既参数化设置
配置的数据驱动,既配置文件切换,例如环境切换
数据驱动实例
# 1.创建测试类,引入对应库及包(pytest库及yaml库)
# 2.使用pytest中的参数化标识符设置参数
# 3.参数读取yaml,并执行测试用例进行结果判断
import pytest
import yaml
class TestData:
@pytest.mark.parametrize('env',yaml.safe_load(open('./env.yaml')))
def test_atest(self,env):
if 'test' in env:
print("执行测试环境测试")
print("当前的环境IP是:"+env)
elif 'dev' in env:
print("执行开发环境测试")
print("当前的环境IP是:" + env)
测试配置文件数据如下所示
# env.yaml中的参数设置,默认形式为字典
test: 127.0.0.1
执行结果如图所示
修改配置文件为
# env.yaml中的参数设置,默认形式为字典
dev: 127.0.0.2
执行结果有所不同
Tips:上述案例IP未能正常打印该如何解决?
在案例中数据未能直接打印IP主要原因是读取的yaml文件数据写的方式默认为字典形式,字典默认读取key
为了读取到对应的IP值,将配置文件及代码稍做改变,配置文件改为yaml格式,代码则是取key值对应的value
# env.yaml中的参数设置,默认形式为字典
-
dev: 127.0.0.2
执行结果如下
本文简要介绍了数据驱动的概念,让大家对数据驱动在自动化测试中的应用有了基本了解。在接下来的文章中,将深入探讨数据驱动在App、Web和接口自动化测试中的具体应用
感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典