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连接MySQL、MongoDB、Redis、memcache等数据库的方法
Nov 15 Python
PYTHON压平嵌套列表的简单实现
Jun 08 Python
安装Python的教程-Windows
Jul 22 Python
Python随机函数random()使用方法小结
Apr 29 Python
OpenCV图像颜色反转算法详解
May 13 Python
Python数据类型之列表和元组的方法实例详解
Jul 08 Python
利用python在大量数据文件下删除某一行的例子
Aug 21 Python
Python socket连接中的粘包、精确传输问题实例分析
Mar 24 Python
编写python代码实现简单抽奖器
Oct 20 Python
python连接mongodb数据库操作数据示例
Nov 30 Python
Python基于百度API识别并提取图片中文字
Jun 27 Python
Python使用Web框架Flask开发项目
Jun 01 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模拟asp中的XmlHttpRequest实现http请求的代码
2011/03/24 PHP
php实现cc攻击防御和防止快速刷新页面示例
2014/02/13 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
2016/03/01 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
2017/05/05 PHP
Laravel如何同时连接多个数据库详解
2019/08/13 PHP
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
2010/06/02 Javascript
子窗口、父窗口和Silverlight之间的相互调用
2010/08/16 Javascript
Underscore.js 的模板功能介绍与应用
2012/12/24 Javascript
JS判断不同分辨率调用不同的CSS样式文件实现思路及测试代码
2013/01/23 Javascript
谈谈target=_new和_blank的不同之处
2016/10/25 Javascript
js简单正则验证汉字英文及下划线的方法
2016/11/28 Javascript
详解Vue 开发模式下跨域问题
2017/06/06 Javascript
JS作用域链详解
2017/06/26 Javascript
jquery tmpl模板(实例讲解)
2017/09/02 jQuery
JavaScript中重名的函数与对象示例详析
2017/09/28 Javascript
AngularJS 实现购物车全选反选功能
2017/10/24 Javascript
详解VUE前端按钮权限控制
2019/04/26 Javascript
使用 Element UI Table 的 slot-scope方法
2019/10/10 Javascript
解决vue v-for src 图片路径问题 404
2019/11/12 Javascript
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
Vue表单提交点击事件只允许点击一次的实例
2020/10/23 Javascript
vue router返回到指定的路由的场景分析
2020/11/10 Javascript
[09:23]国际邀请赛采访专栏:iG战队VK,Tongfu战队Cu
2013/08/05 DOTA
python 实现归并排序算法
2012/06/05 Python
python对html代码进行escape编码的方法
2015/05/04 Python
python使用itchat库实现微信机器人(好友聊天、群聊天)
2018/01/04 Python
解决Django的request.POST获取不到内容的问题
2018/05/28 Python
用python打印1~20的整数实例讲解
2019/07/01 Python
Pytorch根据layers的name冻结训练方式
2020/01/06 Python
如何使用python写截屏小工具
2020/09/29 Python
Python爬虫回测股票的实例讲解
2021/01/22 Python
Kipling凯浦林美国官网:世界著名时尚休闲包袋品牌
2016/08/24 全球购物
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
销售业务员岗位职责
2014/01/29 职场文书
创意广告词
2014/03/17 职场文书
win10安装配置nginx的过程
2021/03/31 Servers