一、@pytest.mark.parametrize()基本用法
@pytest.mark.parametrize(args_name,args_value)
args_name:参数名
args_value:参数值(列表,元祖,字典列表,字典元祖),有多个值用例就会执行多少次
第一种方式:
第二种方式:跟unittest的ddt里面的@unpack解包的一样
二、YAML文件详解—实现接口自动化
1.用于全局的配置文件 ini/yaml
2.用于写测试用例(接口测试用例)
yaml简介:
yaml是一种数据格式,支持注释,换行,多行字符串,裸字符串(整形,字符串)。
语法规则:
1.区分大小写
2.使用缩进表示层级,不能使用tab键缩进,只能用空格(和python一样)
3.缩进没有数量的,只要前面是对其的就行。
4.注释是#
数据组成
1.Map对象,键值对
键:(空格)值
多行的写法:
msxy:
name:测试
age:18
一行的写法:
msxy:{name:测试,age:18}
2.数组(list),用一组横线开头,
如:
多行的写法:
-
msxy:
-name:测试
-age:18
-
msjy:
-name:xingyao
-age:20
一行的写法:
-
msxy:[{name:测试},{age:18}]
三、yaml接口自动化实战
这个数据驱动太粗糙。不够
1.断言的封装。
2.allure报告的定制。
3.关键字驱动和数据驱动结合实现接口自动化测试。
4.python的反射
正常:先初始化对象,在调方法。
反射:通过对象得到类对象,然后通过类对象调用方法
5.jenkins的持续集成和allure报告集成,
并且根据自动化的报告的错误率发送电子邮件。
系统:
循序暂进。