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装饰器
Jul 27 Python
详细介绍Python的鸭子类型
Sep 12 Python
Python 实现随机数详解及实例代码
Apr 15 Python
深入理解Django中内置的用户认证
Oct 06 Python
TensorFlow实现RNN循环神经网络
Feb 28 Python
Python之dict(或对象)与json之间的互相转化实例
Jun 05 Python
Python面向对象基础入门之编码细节与注意事项
Dec 11 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
Jan 23 Python
对python 判断数字是否小于0的方法详解
Jan 26 Python
Linux下远程连接Jupyter+pyspark部署教程
Jun 21 Python
PyTorch中Tensor的拼接与拆分的实现
Aug 18 Python
python实现经纬度采样的示例代码
Dec 10 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管理nginx虚拟主机shell脚本实例
2014/11/19 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
2014/11/22 PHP
php-fpm添加service服务的例子
2018/04/27 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
任意位置显示html菜单
2007/02/01 Javascript
jquery动态加载图片数据练习代码
2011/08/04 Javascript
jquery如何改变html标签的样式(两种实现方法)
2013/01/16 Javascript
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
js向上无缝滚动,网站公告效果 具体代码
2013/11/18 Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
2015/09/15 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
2017/02/10 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
创建简单的node服务器实例(分享)
2017/06/23 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
Vue 中批量下载文件并打包的示例代码
2017/11/20 Javascript
Vue.js 实现微信公众号菜单编辑器功能(二)
2018/05/08 Javascript
详解javascript 正则表达式之分组与前瞻匹配
2018/05/30 Javascript
nodejs检测因特网是否断开的解决方案
2019/04/17 NodeJs
layui字体图标 loading图标静止不旋转的解决方法
2019/09/23 Javascript
Quasar Input:type=&quot;number&quot; 去掉上下小箭头 实现加减按钮样式功能
2020/04/09 Javascript
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
PyQt4编程之让状态栏显示信息的方法
2019/06/18 Python
Django用户登录与注册系统的实现示例
2020/06/03 Python
Python如何使用ElementTree解析xml
2020/10/12 Python
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
护理专业毕业生自荐信
2014/06/15 职场文书
审计班子对照检查材料
2014/08/27 职场文书
2015年重阳节活动总结
2015/03/24 职场文书
人事任命通知
2015/04/20 职场文书
2015年银行个人工作总结
2015/05/14 职场文书
《梅花魂》教学反思
2016/02/18 职场文书
奖学金发言稿(范文)
2019/08/21 职场文书
如何利用 CSS Overview 面板重构优化你的网站
2021/10/24 HTML / CSS
Python 绘制多因子柱状图
2022/05/11 Python