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垃圾回收机制
Feb 12 Python
Python 多线程的实例详解
Sep 07 Python
Python连接phoenix的方法示例
Sep 29 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
Nov 23 Python
Python中循环后使用list.append()数据被覆盖问题的解决
Jul 01 Python
Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例
Jan 23 Python
Python3中列表list合并的四种方法
Apr 19 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
Sep 25 Python
python编写猜数字小游戏
Oct 06 Python
Python tkinter界面实现历史天气查询的示例代码
Aug 23 Python
利用Python过滤相似文本的简单方法示例
Feb 03 Python
深入浅析python3 依赖倒置原则(示例代码)
Jul 09 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
虹吸式咖啡壶操作
2021/03/03 冲泡冲煮
PHP获取MAC地址的函数代码
2011/09/11 PHP
使用PHP求两个文件的相对路径
2013/06/20 PHP
php实现的漂亮分页方法
2014/04/17 PHP
JavaScript开发时的五个注意事项
2007/12/08 Javascript
Ext JS Grid在IE6 下宽度的问题解决方法
2009/02/15 Javascript
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
javascript开发技术大全 第4章 直接量与字符集
2011/07/03 Javascript
stream.js 一个很小、完全独立的Javascript类库
2011/10/28 Javascript
jquery 触发a链接点击事件解决方案
2013/05/02 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
JS实现仿新浪黄色经典滑动门效果代码
2015/09/27 Javascript
JavaScript中利用各种循环进行遍历的方式总结
2015/11/10 Javascript
Javascript removeChild()删除节点及删除子节点的方法
2015/12/27 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
2016/09/14 Javascript
canvas实现刮刮卡效果
2017/03/14 Javascript
Node.js创建HTTP文件服务器的使用示例
2018/05/11 Javascript
详解搭建es6+devServer简单开发环境
2018/09/25 Javascript
Vue组件通信入门之Provide和Inject机制
2019/12/29 Javascript
jQuery 选择器用法实例分析【prev + next】
2020/05/22 jQuery
[52:27]2018DOTA2亚洲邀请赛 3.31 小组赛B组 paiN vs Secret
2018/04/01 DOTA
Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
2014/05/06 Python
通过实例浅析Python对比C语言的编程思想差异
2015/08/30 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
2019/05/05 Python
Python-Seaborn热图绘制的实现方法
2019/07/15 Python
Python 获取命令行参数内容及参数个数的实例
2019/12/20 Python
python实现按关键字筛选日志文件
2019/12/24 Python
Goodee官方商店:迷你投影仪
2021/03/15 全球购物
学生请假条格式
2014/04/11 职场文书
地震捐款倡议书
2014/08/29 职场文书
党员弘扬焦裕禄精神思想汇报
2014/09/10 职场文书
2015年社区环境卫生工作总结
2015/04/21 职场文书
无婚姻登记记录证明
2015/06/18 职场文书
MongoDB使用profile分析慢查询的步骤
2021/04/30 MongoDB