Python之DDT(数据驱动测试)

 

ddt 全称:data driver test 数据驱动测试
ddt装饰器:用来装饰类
file_data装饰器:用来装饰方法
data装饰器:用来装饰方法

什么是数据驱动?

数据驱动,指在自动化测试中处理测试数据的方式。

通常测试数据与功能函数分离,存储在功能函数的外部位置。在自动化测试运行时,数据驱动框架会读取数据源中的数据,

把数据作为参数传递到功能函数中,并会根据数据的条数多次运行同一个功能函数。

数据驱动的数据源可以是函数外的数据集合、CSV 文件、Excel 表格、TXT 文件,以及数据库等。

ddt作用:
1、可以循环读取文件中的数据,用来做接口自动化数据驱动测试
2、可以配合xlutils,xlrd,xlwt读写.xls格式文件,数据回写
3、可以配合openpyxl读写.xlsx格式文件,数据回写'''

为什么要做数据驱动?

1、数据驱动能够减少重复代码

没有数据驱动时,并且同一个功能函数存在多个测试数据,你只能多次调用这个功能函数;
另外一旦某一个测试数据有更改/删除,你需要在函数调用里去更改相应的测试数据,非常不方便。
但有了测试驱动时,无须进行多次调用,而且当测试数据发生改变时, 仅需要更改数据源文件的数据就可以了。

2.数据所属的测试用例失败,不会影响到其他测试数据对应的测试用例

没有数据驱动之前,假设我们有这样的一个函数:

test_data = [0, 1, 0, 1]

def test_without_data_driven(records):

    for x in records:

        assert x > 0

test_without_data_driven(test_data)

当运行这段代码时,因为 test_data 的第一个值是 0, 它不大于 0。所以断言失败,所有 test_data 这个函数 0 后面的测试数据都没有执行。

如果有了数据驱动,则数据驱动会把这一个测试按照测试数据分解成多个测试,所有第一个测试数据失败不也会影响到后面的测试结果。

 

posted @ 2021-08-05 19:24  夏夏夏天的西瓜  阅读(496)  评论(0编辑  收藏  举报