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操作MySQL简单实现方法
Jan 26 Python
详解Python中的__new__、__init__、__call__三个特殊方法
Jun 02 Python
分享几道你可能遇到的python面试题
Jul 24 Python
Scrapy的简单使用教程
Oct 24 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
Feb 11 Python
python射线法判断一个点在图形区域内外
Jun 28 Python
Python实现图片裁剪的两种方式(Pillow和OpenCV)
Oct 30 Python
python关闭占用端口方式
Dec 17 Python
python数据爬下来保存的位置
Feb 17 Python
Python接口自动化测试的实现
Aug 28 Python
Python tkinter实现日期选择器
Feb 22 Python
Python可变集合和不可变集合的构造方法大全
Dec 06 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
简单易用的计数器(数据库)
2006/10/09 PHP
Ajax+PHP边学边练 之五 图片处理
2009/12/03 PHP
PHP新手NOTICE错误常见解决方法
2011/12/07 PHP
php json_encode()函数返回json数据实例代码
2014/10/10 PHP
PHP登录(ajax提交数据和后台校验)实例分享
2016/12/29 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
Swoole源码中如何查询Websocket的连接问题详解
2020/08/30 PHP
jQuery 连续列表实现代码
2009/12/21 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
2016/06/07 Javascript
适用于手机端的jQuery图片滑块动画
2016/12/09 Javascript
vue.js学习之vue-cli定制脚手架详解
2017/07/02 Javascript
JS中Swiper的使用和轮播图效果
2017/08/11 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
2017/12/19 Javascript
关于jquery layui弹出层的使用方法
2018/04/21 jQuery
微信公众号获取用户地理位置并列出附近的门店的示例代码
2019/07/25 Javascript
Moment.js实现多个同时倒计时
2019/08/26 Javascript
JavaScript实现瀑布流布局的3种方式
2020/12/27 Javascript
[13:40]TI3青蛙君全程回顾 DOTA2我们为梦想再战
2013/09/13 DOTA
[56:00]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第二场
2018/04/10 DOTA
[01:04:08]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第一场 12.16
2020/12/18 DOTA
[07:37]DOTA2-DPC中国联赛2月2日Recap集锦
2021/03/11 DOTA
Python中的异常处理学习笔记
2015/01/28 Python
Python2实现的LED大数字显示效果示例
2017/09/04 Python
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
Python FTP两个文件夹间的同步实例代码
2018/05/25 Python
IDLE下Python文件编辑和运行操作
2020/04/25 Python
Python异常处理机制结构实例解析
2020/07/23 Python
Python如何进行时间处理
2020/08/06 Python
Python文件操作及内置函数flush原理解析
2020/10/13 Python
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
盛大二次面试题
2016/11/18 面试题
促销活动总结
2014/04/28 职场文书
群众路线个人对照检查材料2014
2014/09/26 职场文书
医院领导班子整改方案
2014/10/01 职场文书
项目安全员岗位职责
2015/02/15 职场文书