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实现的扫雷游戏实例代码
Aug 01 Python
Python中动态获取对象的属性和方法的教程
Apr 09 Python
python读取中文txt文本的方法
Apr 12 Python
python求解数组中两个字符串的最小距离
Sep 27 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
Dec 03 Python
解决Python下json.loads()中文字符出错的问题
Dec 19 Python
python 批量添加的button 使用同一点击事件的方法
Jul 17 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
Dec 12 Python
python使用Geany编辑器配置方法
Feb 21 Python
Windows下Sqlmap环境安装教程详解
Aug 04 Python
Python 生成短8位唯一id实战教程
Jan 13 Python
python中numpy数组与list相互转换实例方法
Jan 29 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中的生成XML文件的4种方法分享
2012/10/06 PHP
php正则表达式使用的详细介绍
2013/04/27 PHP
thinkphp区间查询、统计查询与SQL直接查询实例分析
2014/11/24 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
2019/03/11 PHP
jquery 为a标签绑定click事件示例代码
2014/06/23 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
2014/10/07 Javascript
简介JavaScript中Math.LOG10E属性的使用
2015/06/14 Javascript
浅析javascript中的事件代理
2015/11/06 Javascript
学习使用AngularJS文件上传控件
2016/02/16 Javascript
详解js前端代码异常监控
2017/01/11 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
JavaScript门面模式详解
2017/10/19 Javascript
ES6解构赋值实例详解
2017/10/31 Javascript
小程序分享模块超级详解(推荐)
2019/04/10 Javascript
解决vue 退出动画无效的问题
2020/08/09 Javascript
Vue.js使用axios动态获取response里的data数据操作
2020/09/08 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
2020/10/30 Javascript
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
2013/01/17 Python
python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
2014/04/25 Python
python中pylint使用方法(pylint代码检查)
2018/04/06 Python
Python实现读取txt文件中的数据并绘制出图形操作示例
2019/02/26 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
Pycharm最常用的快捷键及使用技巧
2020/03/05 Python
python 串行执行和并行执行实例
2020/04/30 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
python 实现图片批量压缩的示例
2020/12/18 Python
HTML5中drawImage用法分析
2014/12/01 HTML / CSS
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
AJAX检测用户名是否存在的方法
2021/03/24 Javascript
七年级地理教学反思
2014/01/26 职场文书
邓小平理论心得体会
2014/09/09 职场文书
黄石寨导游词
2015/02/05 职场文书
创业计划书之溜冰场
2019/10/25 职场文书