ddt
ddt全程叫做data driver test数据驱动测试模块。属于第三方模块,需要安装才可以使用。本身具备有一定的数据驱动能力,可以管理简单的测试数据,但是对于复杂的数据,一般会通过其他的数据驱动形态来实现,比如yaml。ddt更多是在数据驱动过程中,实现数据传输的一个模块。
data修饰器有多个数据的时候,会基于,对数据进行区分,根据最终所得的参数长度来决定用例的循环次数,将每一个数据传入用例之中
通过unpack对[a,b]二次解包,变成a和b,将解包的数据传入test_01
@data(['a','123456'],['b','123456'])#传递参数
@unpack #解包单组数据内容,基于,进行数据区分
def test_01(self,name,pwd):
print('账号信息为' +name)
print('密码信息为' +pwd)
ddt会改变测试用例的名称
yaml
yaml语法结构
list类型通过-实现,-后要加空格;dict类型:来实现,后面要加空格;两种类型可以相互嵌套
yaml锚点与引用
锚点类似于变量的设定。可以提取公共的数据内容,作为锚点,然后通过引用的方式,将同样的内容全部以变量来实现调用。这种手段用于解决yaml中数据冗余的问题。将重复的内容全部精简。
语法规范:
&表示定义一个锚点。其实就是定义一个变量
<<表示追加写入
*表示引用指定的锚点,也就是调用了定义的变量
yaml的读取
通过@file_data()装饰器专门读取yaml
@file_data('./test_data.yaml') #专门读取yaml
#yaml有多少组数据就执行多少次,
def test_01(self,name,pwd):
print(name)
print(pwd)