上文简单讲述了下我开发的接口自动化框架使用到的unittest单元测试框架,另一个比较重要的就是ddt框架。这是python的一个数据驱动框架,把传入的数据,参数抽离出来,同样的脚本可以跑不同的用例,使用它可以省去一堆冗余代码,也便于维护。先简单讲述一下ddt和unittest结合使用。
在使用时我们先用import,从ddt库里import所需要用到的函数和装饰器。举几个简单的例子。
from ddt import ddt,data,unpack
1)打印出来会有俩个结果,1和2
@ddt
class Test:
@data(1,2)
def test_print(a):
print(a)
2)打印出来会有1个结果,(1,2)
@ddt
class Test:
@data((1,2))
def test_print(a):
print(a)
3)打印出来俩个结果(1,2),(3,4),这相当于俩个整体。
@ddt
class Test:
@data((1,2),(3,4))
def test_print(a):
print(a)
4)如果想要将上诉的元组里的数据不当作整体而分别用作俩个参数,这样就需要用到unpack。如下
@ddt
class Test:
@data((1,2),(3,4))
@unpack
def test_print(a,b):
print(a)
print(b)
print(a+b)
在使用的时候,data后面的数据一般都传每个测试脚本中所用到的入参,目前我研发的这个接口自动化框架(上文中有图介绍),是用excel存储接口的入参,和用例描述。每个tab来记录不同的接口,行和列分别记录对应的测试用例和参数,结合ddt+unittest使用。具体看下文。