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基于pygame实现的font游戏字体(附源码)
Nov 11 Python
使用pyecharts无法import Bar的解决方案
Apr 23 Python
Python实现字符串格式化的方法小结
Feb 20 Python
深入理解Python单元测试unittest的使用示例
Nov 18 Python
CentOS7.3编译安装Python3.6.2的方法
Jan 22 Python
python实现指定文件夹下的指定文件移动到指定位置
Sep 17 Python
python实现高斯(Gauss)迭代法的例子
Nov 20 Python
简单了解为什么python函数后有多个括号
Dec 19 Python
django admin 添加自定义链接方式
Mar 11 Python
python计算auc的方法
Sep 09 Python
Selenium结合BeautifulSoup4编写简单的python爬虫
Nov 06 Python
Python 找出英文单词列表(list)中最长单词链
Dec 14 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中防止SQL注入实现代码
2011/02/19 PHP
php自定义函数截取汉字长度
2014/05/15 PHP
yii2中关于加密解密的那些事儿
2018/06/12 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
2020/10/20 PHP
tagName的使用,留一笔
2006/06/26 Javascript
Javascript计算时间差的函数分享
2011/07/04 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
2011/07/26 Javascript
JavaScript遍历table表格中的某行某列并打印其值
2014/07/08 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
jquery搜索框效果实现方法
2015/01/16 Javascript
PHP+jQuery实现随意拖动层并即时保存拖动位置
2015/04/30 Javascript
基于cookie实现zTree树刷新后展开状态不变
2017/02/28 Javascript
AngulaJS路由 ui-router 传参实例
2017/04/28 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
JavaScript 实现轮播图特效的示例
2020/11/05 Javascript
[06:04]DOTA2国际邀请赛纪录片:Just For LGD
2013/08/11 DOTA
pyenv命令管理多个Python版本
2017/03/26 Python
Python实现基于POS算法的区块链
2018/08/07 Python
Pycharm运行加载文本出现错误的解决方法
2019/06/27 Python
python list转置和前后反转的例子
2019/08/26 Python
pytorch 实现查看网络中的参数
2020/01/06 Python
Django 实现将图片转为Base64,然后使用json传输
2020/03/27 Python
CSS3 :default伪类选择器使用简介
2018/03/15 HTML / CSS
用HTML5制作一个简单的桌球游戏的教程
2015/05/12 HTML / CSS
印尼最大的婴儿用品购物网站:Orami
2017/09/28 全球购物
送餐员岗位职责范本
2014/02/21 职场文书
迎新生标语大全
2014/10/06 职场文书
2015年前台个人工作总结
2015/04/03 职场文书
市场督导岗位职责
2015/04/10 职场文书
遗失证明范文
2015/06/19 职场文书
小学教师读书笔记
2015/07/01 职场文书
大学生受助感言
2015/08/01 职场文书
golang中的struct操作
2021/11/11 Golang
海贼王十大潜力果实,路飞仅排第十,第一可毁世界(震震果实)
2022/03/18 日漫
Javascript的promise,async和await的区别详解
2022/03/24 Javascript
python中字符串String及其常见操作指南(方法、函数)
2022/04/06 Python