首页 > 其他 > 详细

数据驱动-yaml文件读取

时间:2021-06-15 10:12:50      阅读:17      评论:0      收藏:0      [点我收藏+]

 

 

 

数据驱动

YAML文件

  • 类型Ⅰ

# 最外层定义了两个列表,yaml文件在被读取的时候,user和msg会被遍历,输出两个字典
-
user:
   username: admin
   password: ‘123456‘
msg: success
-
user:
   username: admin
   password: ‘123456‘
msg: 用户名或密码输入错误
   
# 执行用例后
PASSED                                       [ 50%]
?
获取的yaml文件: {‘user‘: {‘username‘: ‘admin‘, ‘password‘: ‘123456‘}, ‘msg‘: ‘success‘}
PASSED                                       [100%]
?
获取的yaml文件: {‘user‘: {‘username‘: ‘admin‘, ‘password‘: ‘123456‘}, ‘msg‘: ‘用户名或密码输入错误‘}
@pytest.mark.parametrize(‘users‘, load(‘../Bili/user.yml‘))
用该装饰器参数化时,users为变量,通过解析方法读取出来的列表有两个元素(字典),这两个元素作为用例数据驱动用例执行
  • 类型Ⅱ

?
-
 - user:
     username: admin
     password: ‘123456‘
 - msg: success
-
 - user:
?
     username: admin1
     password: ‘123456‘
 - msg: 用户名或密码输入错误!
# 执行用例后
PASSED                                       [ 50%]
?
获取的yaml文件: [{‘user‘: {‘username‘: ‘admin‘, ‘password‘: ‘123456‘}}, {‘msg‘: ‘success‘}]
PASSED                                       [100%]
?
获取的yaml文件: [{‘user‘: {‘username‘: ‘admin1‘, ‘password‘: ‘123456‘}}, {‘msg‘: ‘用户名或密码输入错误!‘}]
@pytest.mark.parametrize(‘users‘, load(‘../Bili/user.yml‘))
用该装饰器参数化时,users为变量,通过解析方法读取出来的列表有两个元素(列表),这两个元素作为用例数据驱动用例执行

封装解析yaml文件的方法

# 此处为什么不封装为class? 答:不想实例化一个对象,说白点就是懒
import yaml
def load(path):
   file = open(path, "r", encoding=‘utf-8‘) # path为yaml文件的路径
   data = yaml.load(file, Loader=yaml.fullLoader)
   return data

用例层

# @Time  : 2021/06/14 17:31
# @Author   : H.侠
# -*-coding=utf-8-*-
# =============================================================
import pytest
from Bili.load_yaml import load
?
?
@pytest.mark.parametrize(‘users‘, load(‘../Bili/user.yml‘))
def test01(users):
   print(f‘\n\n获取的yaml文件: {users}‘)

 

数据驱动-yaml文件读取

原文:https://www.cnblogs.com/Hxia/p/14883696.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!