pytest+request框架中yaml配置文件使用
背景:最近在学习pytest+request框架写接口测试自动化,使用yaml文件配置更方便管理用例中的数据,这样更方便
yaml 介绍:
- 什么是 yaml 文件:YAML 是 “YAML Ain’t a Markup Language”(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。常用于全局配置文件或接口测试用例中。
- 基本语法:
(1)大小写敏感
(2)使用缩进表示层级关系
(3)缩进不允许使用tab,只允许空格
(4)缩进的空格数不重要,只要相同层级的元素左对齐即可
(5)'#'表示注释
yaml 数据类型:
yaml 支持以下几种数据类型:
- 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
- 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
- 纯量(scalars):单个的、不可再分的值
yaml 数组
- 以 - 开头的行表示构成一个数组
- key:value 表示字典
- 以 - 开头,key1:value1,key2:value2 表示列表里面嵌套字典
例如:- user1:user1 password :123456 -user2:user2表示[{‘user1’:‘user1’,‘passwd’:‘123456’},{‘user2’:‘user2’}]
配置yaml
1.安装: pip install pyyaml

- 创建config pkg ,创建一个带有.yaml 后缀的文件;
- 在接口中导入yaml文件,读取文件中内容

import requests
import yaml
class Test_mobileencrypt:
def test_encryptmobile(self):
with open(r'D:\pythonProject\conf\config.yaml','r',encoding='UTF-8') as f:
mobile=yaml.load(f,Loader=yaml.FullLoader)
print(mobile[0])
- 要注意的是,在这个yaml文件中,我的mobile写的是一个- 开头,这就是一个列表,首次取值的时候,我直接取了列表出来,于是加密的过程中多加了列表的内容。

解密后,这里还是有一个列表

解决办法:读取文件的时候,特意加了列表的切片,这样可以直接将列表中的数值取出来

接口加密后再解密,这里已经是正确的手机号了

到此这篇关于pytest+request框架中yaml配置文件使用的文章就介绍到这了,更多相关pytest request yaml配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
利用PyQt5+Matplotlib 绘制静态/动态图的实现代码
这篇文章主要介绍了利用PyQt5+Matplotlib 绘制静态/动态图的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-07-07
Flask sqlalchemy一对多与多对一与一对一及多对多关系介绍
这篇文章主要介绍了Flask sqlalchemy一对多与多对一与一对一及多对多关系介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-09-09
解决Python下imread,imwrite不支持中文的问题
今天小编就为大家分享一篇解决Python下imread,imwrite不支持中文的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-12-12
python处理 yaml 时保持输入输出格式一致的问题记录
这篇文章主要介绍了python处理 yaml 时保持输入输出格式一致的问题记录,要想保持顺序不变在dump时添加sort_keys=False,使yaml格式保持原来的排序,本文给大家介绍的非常详细,需要的朋友可以参考下2024-06-06
使用tensorflow实现VGG网络,训练mnist数据集方式
这篇文章主要介绍了使用tensorflow实现VGG网络,训练mnist数据集方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-05-05


最新评论