在接口测试中,一个接口往往需要有多组数据进行测试,以验证接口的正确性。这样就涉及到一个问题,是不是需要编写多个测试用例来实现呢?比如一个登陆接口,登陆成功的一组数据、登陆密码错误的一组数据、登陆账号错误的一组数据。那我们要怎么操作呢?数据驱动就可以很好的解决该问题。只需要编写一个测试用例脚本,通过传入不同的数据,返回不同的测试结果。 python中实现数据驱动是通过引入ddt模块来实现的。没有安装的,直接安装改模块即可。 import ddt 使用数据驱动时,需要在测试的模块上进行声明。在具体的测试方法上使用ddt.data()方法或者ddt.file_data()进行参数传递。 ddt.data()默认将参数都传递给第一个参数,每一组数据执行一遍测试用例,以达到数据驱动的效果。如果传递多个参数时需要用到ddt.unpack 声明进行拆分。 案例如下: import ddt import unittest import ReadExcel
testData =ReadExcel.ReadExcel.readExcel('E:\\study\\data\\test_ddt.xls', 'Sheet1') @ddt.ddt #声明使用数据驱动 class DDTtest(unittest.TestCase): @ddt.data([1,2],[3,4]) #数据参数 @ddt.unpack #拆分参数 def test_A(self,a,b): print(a+b)
@ddt.data({'a','b'}) def test_B(self,a): print(a) @ddt.data([1,2]) def test_C(self,a): print(a)
@ddt.data(*testData) #读取Excel文件进行传递,这里必须是迭代器 def test_D(self, data): print(data) print('执行完成') return
if __name__=='__main__': unittest.main();
|
|
来自: 青柠二锅头 > 《Python自动化》