Python自动化测试中yaml文件读取操作


Posted in Python onAugust 20, 2020

什么是yaml

  • 一种标记语言。yaml 是专门用来写配置文件的语言,非常简洁和强大
  • 更直观,更方便,有点类似于json格式
  • yaml文件格式:test.yaml

安装yaml

pip install pyyaml

yaml基本语法规则

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格。
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
  • #表示注释,从这个字符一直到行尾,都会被解析器忽略,这个和python的注释一样

键值对(dict)

yaml文件

user: admin
pwd: 123456

用python读取yaml文件案例如下,先用open方法读取文件数据,再通过load方法转成Python可读取的对像,这个load跟json里面的load是相似的。

#! /usr/bin/python3
# -*- coding:utf-8 -*-

# @Time : 2020/8/17 9:23
# @Author : 码上开始

import yaml

# 定义yaml文件路径
yaml_path = "E:\\study\\date.yaml"
# 打开yaml文件
file = open(yaml_path, "r", encoding="utf-8")
# 读取
string = file.read()
dict = yaml.load(string)
# 转换后数据类型为:dict
print(type(dict))
print(dict)
# 运行结果:
{'usr': 'admin', 'pwd': 123456}

序列(list)

yaml里面写一个数组,前面加一个‘-'符号,如下

- admin1
- admin2
- admin3
#! /usr/bin/python3
# -*- coding:utf-8 -*-

# @FileName: day6.py
# @Time : 2020/8/17 9:23
# @Author : 码上开始

import yaml

# 定义文件路径
yaml_path = "E:\\study\\date.yaml"
file = open(yaml_path, "r", encoding="utf-8")
string = file.read()
print(string)
# 转换后数据类型为列表
list = yaml.load(string, Loader=yaml.FullLoader)
print(list)
# 运行结果
<class 'list'>
['admin1', 'admin2', 'admin3']

纯量(str)

# 布尔值true/false
n: true
# int
n1: 12
# float
n2: 12.3
# None
n3: ~

{'n': True, 'n1': 12, 'n2': 12.3, 'n3': None}

混合使用

- usr:
 name: admin
 pwd: 123456

- mail:
 user: xxx@qq.com
 pwd: 123456

运行结果:
[{'usr': {'name': 'admin', 'pwd': 123456}}, {'mail': {'user': 'xxx@qq.com', 'pwd': 123456}}]

练习
1.熟悉以上基本方法
2.将其运用到自动化测试代码中

到此这篇关于Python自动化测试中yaml文件读取操作的文章就介绍到这了,更多相关Python yaml文件读取操作内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python实现简单温度转换的方法
Mar 13 Python
Python的collections模块中namedtuple结构使用示例
Jul 07 Python
Python 记录日志的灵活性和可配置性介绍
Feb 27 Python
python文本数据相似度的度量
Mar 12 Python
Python 过滤错误log并导出的实例
Dec 26 Python
django模型动态修改参数,增加 filter 字段的方式
Mar 16 Python
Keras官方中文文档:性能评估Metrices详解
Jun 15 Python
python程序需要编译吗
Jun 19 Python
python和php哪个更适合写爬虫
Jun 22 Python
Python Excel vlookup函数实现过程解析
Jun 22 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
Nov 26 Python
python基于OpenCV模板匹配识别图片中的数字
Mar 31 Python
通过代码实例解析Pytest运行流程
Aug 20 #Python
Python爬虫实现自动登录、签到功能的代码
Aug 20 #Python
python openCV实现摄像头获取人脸图片
Aug 20 #Python
Python实现自动签到脚本功能
Aug 20 #Python
python如何随机生成高强度密码
Aug 19 #Python
python实现图片转换成素描和漫画格式
Aug 19 #Python
python+django+selenium搭建简易自动化测试
Aug 19 #Python
You might like
用php来检测proxy
2006/10/09 PHP
随时给自己贴的图片加文字的php代码
2007/03/08 PHP
php 从数据库提取二进制图片的处理代码
2009/09/09 PHP
php jsonp单引号转义
2014/11/23 PHP
PHPCMS2008广告模板SQL注入漏洞修复
2016/10/11 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
2016/11/30 PHP
php源码的安装方法和实例
2019/09/26 PHP
Thinkphp 3.2框架使用Redis的方法详解
2019/10/24 PHP
javascript 循环读取JSON数据的代码
2010/07/17 Javascript
深入理解JavaScript系列(43):设计模式之状态模式详解
2015/03/04 Javascript
javascript实现点击单选按钮链接转向对应网址的方法
2015/08/12 Javascript
jQuery EasyUI中DataGird动态生成列的方法
2016/04/05 Javascript
基于jQuery实现的打字机效果
2017/01/16 Javascript
Vue2.0 实现单选互斥的方法
2018/04/13 Javascript
深入理解NodeJS 多进程和集群
2018/10/17 NodeJs
微信小程序自定义toast的实现代码
2018/11/16 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
2019/07/10 Javascript
js中offset,client , scroll 三大元素知识点总结
2019/09/11 Javascript
vant中的toast层级改变操作
2020/11/04 Javascript
python使用os模块的os.walk遍历文件夹示例
2014/01/27 Python
python使用urlparse分析网址中域名的方法
2015/04/15 Python
Python实现PS图像调整黑白效果示例
2018/01/25 Python
wxPython实现文本框基础组件
2019/11/18 Python
html5 input属性使用示例
2013/06/28 HTML / CSS
HTML5 canvas基本绘图之绘制线条
2016/06/27 HTML / CSS
canvas学习和滤镜实现代码
2018/08/22 HTML / CSS
英国时尚女装购物网站:Missguided
2018/08/23 全球购物
碧欧泉法国官网:Biotherm法国
2019/10/23 全球购物
如何通过jdbc调用存储过程
2012/04/19 面试题
英语演讲稿范文
2014/01/03 职场文书
管理信息系学生的自我评价
2014/01/11 职场文书
科研课题实施方案
2014/03/18 职场文书
物业保安岗位职责
2014/07/02 职场文书
2014年幼儿园国庆主题活动方案
2014/09/16 职场文书
离退休人员聘用协议书
2014/11/24 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书