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中Collections模块的Counter容器类使用教程
May 31 Python
Python内置数据结构与操作符的练习题集锦
Jul 01 Python
Python编程实现使用线性回归预测数据
Dec 07 Python
Python排序搜索基本算法之堆排序实例详解
Dec 08 Python
Vue的el-scrollbar实现自定义滚动
May 29 Python
让代码变得更易维护的7个Python库
Oct 09 Python
python实现文本界面网络聊天室
Dec 12 Python
django之使用celery-把耗时程序放到celery里面执行的方法
Jul 12 Python
Python字典添加,删除,查询等相关操作方法详解
Feb 07 Python
Pycharm 2020.1 版配置优化的详细教程
Aug 07 Python
Python中使用Lambda函数的5种用法
Apr 01 Python
python实现大文本文件分割成多个小文件
Apr 20 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
在Zeus Web Server中安装PHP语言支持
2006/10/09 PHP
详解PHP显示MySQL数据的三种方法
2008/06/05 PHP
火车采集器 免费版使出收费版本功能实现原理
2009/09/17 PHP
PHP文件注释标记及规范小结
2012/04/01 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
PHP合并两个或多个数组的方法
2019/01/20 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
2019/04/10 PHP
PHP tp5中使用原生sql查询代码实例
2020/10/28 PHP
在js中使用&quot;with&quot;语句中跨frame的变量引用问题
2007/03/08 Javascript
JavaScript 仿关机效果的图片层
2008/12/26 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
JS中解决谷歌浏览器记住密码输入框颜色改变功能
2017/02/13 Javascript
JavaScript取得gridview中获取checkbox选中的值
2017/07/24 Javascript
基于vue-simplemde实现图片拖拽、粘贴功能
2018/04/12 Javascript
详解vue-cli官方脚手架配置
2018/07/20 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
vue 动态表单开发方法案例详解
2019/12/02 Javascript
javascript 函数的暂停和恢复实例详解
2020/04/25 Javascript
Javascript实现秒表计时游戏
2020/05/27 Javascript
Vue实现图书管理小案例
2020/12/03 Vue.js
Python Tkinter 简单登录界面的实现
2019/06/14 Python
pandas计数 value_counts()的使用
2019/06/24 Python
Python 脚本的三种执行方式小结
2019/12/21 Python
Django自定义列表 models字段显示方式
2020/04/03 Python
Python3 + Appium + 安卓模拟器实现APP自动化测试并生成测试报告
2021/01/27 Python
美国流行背包品牌:JanSport(杰斯伯)
2018/03/02 全球购物
可口可乐唇膏:Lip Smackers
2019/08/27 全球购物
经贸日语专业个人求职信
2013/12/13 职场文书
四风存在的原因分析
2014/02/11 职场文书
cf收人广告词
2014/03/14 职场文书
十佳中学生事迹材料
2014/06/02 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
培训班开班主持词
2015/07/02 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书
python中的装饰器该如何使用
2021/06/18 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
2022/04/11 Python