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批量修改文件后缀示例代码分享
Dec 24 Python
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
Aug 22 Python
python中实现php的var_dump函数功能
Jan 21 Python
Pycharm远程调试openstack的方法
Nov 21 Python
python字符串string的内置方法实例详解
May 14 Python
python 列表,数组和矩阵sum的用法及区别介绍
Jun 28 Python
纯用NumPy实现神经网络的示例代码
Oct 24 Python
python日志模块logbook使用方法
Sep 19 Python
Python OpenCV图像指定区域裁剪的实现
Oct 30 Python
python线程信号量semaphore使用解析
Nov 30 Python
Python对称的二叉树多种思路实现方法
Feb 28 Python
Windows下pycharm安装第三方库失败(通用解决方案)
Sep 17 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防止表单重复提交的几种常用方法汇总
2014/08/19 PHP
PHP中的事务使用实例
2015/05/26 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
2015/12/28 PHP
使用JavaScript 实现对象 匀速/变速运动的方法
2013/05/08 Javascript
Javascript优化技巧之短路表达式详细介绍
2015/03/27 Javascript
对Web开发中前端框架与前端类库的一些思考
2015/03/27 Javascript
基于jquery实现导航菜单高亮显示(两种方法)
2015/08/23 Javascript
javascript中new关键字详解
2015/12/14 Javascript
jQuery简单实现仿京东分类导航层效果
2016/06/07 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
解决给dom元素绑定click等事件无效问题的方法
2017/02/17 Javascript
js实现仿购物车加减效果
2017/03/01 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
详解JavaScript中的六种错误类型
2017/09/21 Javascript
node实现基于token的身份验证
2018/04/09 Javascript
JavaScript使用Math.random()生成简单的验证码
2019/01/21 Javascript
JQuery 实现文件下载的常用方法分析
2019/10/29 jQuery
js实现飞机大战小游戏
2020/08/26 Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
2020/09/08 Javascript
python使用BeautifulSoup分页网页中超链接的方法
2015/04/04 Python
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
Python解析命令行读取参数--argparse模块使用方法
2018/01/23 Python
python 列表删除所有指定元素的方法
2018/04/19 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
Python基于plotly模块实现的画图操作示例
2019/01/23 Python
使用批处理脚本自动生成并上传NuGet包(操作方法)
2019/11/19 Python
详解python UDP 编程
2020/08/24 Python
Python 获取异常(Exception)信息的几种方法
2020/12/29 Python
python学习之使用Matplotlib画实时的动态折线图的示例代码
2021/02/25 Python
英国领先的高级美容和在线皮肤诊所:Face the Future
2020/06/17 全球购物
通信工程毕业生自荐信
2013/11/01 职场文书
超市业务员岗位职责
2013/12/05 职场文书
酒店人事专员岗位职责
2013/12/19 职场文书
2014年世界艾滋病日演讲稿
2014/11/28 职场文书
教师师德表现自我评价
2015/03/05 职场文书
教师教育心得体会
2016/01/19 职场文书