接口自动化_UnitTest框架(yaml,ddt)10
yaml文件的读取
#导包
import yaml
'''
yaml读取文件与常规文件不同,通过open形成file格式的内容,基于yaml库来实现内容的识别和读取
./data/data_dict.yaml--->yaml文件放的路径位置
'''
#封装函数
def yamlRead(path):
file = open('./data/data_dict.yaml', 'r', encoding='utf-8')
# 读取yaml格式的数据内容并保存原有的格式
data = yaml.load(stream=file, Loader=yaml.FullLoader)
return data
ddt模块的使用
import unittest
# ddt模块的导入
from ddt import ddt, data, unpack, file_data
'''
ddt的使用:
1. 在需要调用ddt模块的类名处,通过装饰器的形式声明调用
2. ddt驱动文件内容,除去Yaml之外,其他的文件都需要自行定义函数来驱动
读写文件内容进行数据驱动其本质还是驱动的数据
3. yaml文件是唯一一种可以和ddt模块完美搭配的文件格式,通过file_data装饰器来处理
'''
'''
在ddt的数据驱动中,如果data装饰器设置有多个值,那么就会运行多次测试用例。
data装饰解析机制:
@data('虚竹', '贾嫣')
基于,来进行解析数据,获得'虚竹'和'贾嫣'两个不同的字符串,data会认为本次用例
将会执行两次,一次传入'虚竹',一次传入'贾嫣'
例如登录:
多组不同数据,执行同一个流程
如果单次要传入多个数据,就需要对数据内容进行打包:
例如:
@data(['虚竹', 18], ['贾嫣', 10])
基于,进行解析,会获得['虚竹', 18]和['贾嫣', 10]数据内容
unpack与data的解析机制是一样的,都是依照同样的规则进行解析内容,
只是unpack解析的是data已经解析之后的数据内容
data解析之后确定用例的执行次数
unpack只是将本次执行的数据进行解析
'''
@ddt
class UnitDdt(unittest.TestCase):
@file_data('./data/data_dict.yaml')
def test_01(self, **kwargs):
print(kwargs)
if __name__ == '__main__':
unittest.main()
分类:
Python学习之路
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律