python的数据驱动

Posted cuitang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python的数据驱动相关的知识,希望对你有一定的参考价值。

什么叫数据驱动?

登录用例 -》不用的用户名登录,但是自动化化脚本一样,虽然脚本相同,步骤相同,但是不同的用户名登录得出的数据是不一样的,于是就有了数据驱动,就是数据的改变驱动自动化测试的执行导致测试结果的不同。 ->这个就是数据驱动,数据的改变从而驱动自动化测试的执行,可以理解为参数化的应用。

unitest的数据驱动 和 pytest的数据驱动:

  • unitest单元测试,无自带的数据驱动
  • pytest的数据驱动: parameterized做参数化

第一:ddt 

  由于unittest单元测试框架,无自带的数据驱动,如果在做数据参数化时,脚本一样,只有数据不一样,再重新编写一样的测试用例,未免会加大代码的重复量和运行时间,所以可以引入ddt做数据驱动

一个简单的数据驱动测试:

  为了创建数据驱动测试,需要在测试类上使用@ddt装饰符,在测试方法上使用@data装饰符。@data装饰符把参数当作测试数据,参数可以是单个值、列表、元组、字典。对于列表,需要用@unpack装饰符把元组和列表解析成多个参数。

单个参数:@data(1,2,3)代表我们传入的参数,每次传入一个值,所以会传入三次

技术图片

多个参数:元组、字典,需要@data + @ unpack 一起使用

技术图片

第二:pytest 的数据驱动:parameterized做参数化

  • 需要注意的是:参数化里的传入的名称要和传入到函数的名称保持一致(如图中:绿色框住的两个地方)
  • pytest的数据驱动与ddt相比,比较方便和简洁,直接parametrize(不分单个参数还是多个参数)

技术图片

 

 

 

 

参考:https://blog.csdn.net/wushuai150831/article/details/78453549

 

以上是关于python的数据驱动的主要内容,如果未能解决你的问题,请参考以下文章

python webdriver 测试框架-数据驱动excel驱动的方式

Python 数据驱动ddt 使用

数据驱动—ddt

Python 数据驱动 unittest + ddt

Python Selenium 之数据驱动测试

python webdriver 测试框架--数据驱动之Excel驱动