python 数据驱动接口自动化框架_Python自动化测试之数据驱动(一)

全栈测试技术qq群:

自动化测试在各大互联网公司全面铺开,那么针对于自动化测试好的设计思想有哪些呢?.....今天我们共同探讨下Unittest之数据驱动(DDT)。

对于接口自动化的数据驱动模式是大多数公司所选择的主流设计思想,有通过Mysql实现数据驱动,有通过Excel实现数据驱动,但是客观的认为,都没有Python模块中DDT模块所做的数据驱动方便,灵活。

安装ddt模块

由于ddt不是Python的标准库所以我们需要pip安装ddt模块(注:如果Python的Scripts目录已增加到环境变量,请忽略下方操作,直接pip install ddt安装即可。)

1、打开cmd,输入where python,找到Python的安装路径。

2、切换(cd)到Python的Scripts目录,并执行pip install ddt命令。(注:提示Successfully则为安装成功。)

导入ddt模块

通过Pycharm直接import ddt即可。

1

importddt

结合Unittest使用ddt

导入ddt模块后,按照unittest的正常模式写case,在class上方@ddt的装饰器,在测试的case上@ddt的data方法。

如果将data中的参数变为list、dict、tuple的话,会将参数[1,2]当做一个参数传递给case

当引用了ddt的装饰器后,他会根据data中参数的个数,来执行多少遍case,这就是简单的ddt的应用。当一个测试case中出现多个形参时,只用data装饰器就解决不了问题,如果依旧这么传参,会报错。

在工作中我们的case一定不会只有一个形参,当出现这种多个形参时,需要通过@ddt.unpack方法对数据进行拆分。默认@data([1,2],['a','b']),会将[1,2]看做一个参数传递到case中,增加@ddt.unpack方法后。@data([1,2],['a','b'])将变为两条case,list中1和2,被分解开,按照case的形参进行传递。

当我整理到这里时,发现了ddt的NB之处,这种数据驱动,如果将数据准备全面,我只需要通过@data将数据灌入到case中,他就会根据我的case数量执行用例,那么这在接口测试当中,测一个接口时,多种不同的接口参数组合,通过ddt的数据驱动可以完美的运行case。

如何管理数据成为了我们重中之重的话题,下篇文章我们将讲解结合Python的Pyyaml模块来实现与ddt的完美组合,让数据的存储变的不复杂,反而更加灵活。

你可能感兴趣的:(python,数据驱动接口自动化框架)