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实现针对含中文字符串的截取功能示例
Sep 22 Python
Sublime开发python程序的示例代码
Jan 24 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
May 15 Python
python使用 zip 同时迭代多个序列示例
Jul 06 Python
Python qqbot 实现qq机器人的示例代码
Jul 11 Python
python之array赋值技巧分享
Nov 28 Python
pycharm通过anaconda安装pyqt5的教程
Mar 24 Python
详解Django配置JWT认证方式
May 09 Python
python中关于数据类型的学习笔记
Jul 19 Python
Python的scikit-image模块实例讲解
Dec 30 Python
Python requests库参数提交的注意事项总结
Mar 29 Python
python中Pyqt5使用Qlabel标签播放视频
Apr 22 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 图片上传实现代码 带详细注释
2010/04/29 PHP
php在文件指定行中写入代码的方法
2012/05/23 PHP
PHP中使用Imagick操作PSD文件实例
2015/01/26 PHP
php图形jpgraph操作实例分析
2017/02/22 PHP
YII框架页面缓存操作示例
2019/04/29 PHP
In Javascript Class, how to call the prototype method.(three method)
2007/01/09 Javascript
JS中判断null、undefined与NaN的方法
2014/03/26 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
2014/11/26 Javascript
JavaScript学习小结(一)——JavaScript入门基础
2015/09/02 Javascript
学习vue.js表单控件绑定操作
2016/12/05 Javascript
Angular4编程之表单响应功能示例
2017/12/13 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
React SSR样式及SEO的实践
2018/10/22 Javascript
JS使用setInterval计时器实现挑战10秒
2020/11/08 Javascript
html5以及jQuery实现本地图片上传前的预览代码实例讲解
2021/03/01 jQuery
[04:07]显微镜下的DOTA2第八期——英雄复活动作
2014/06/24 DOTA
[32:56]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.11
2020/12/16 DOTA
[07:37]DOTA2-DPC中国联赛2月2日Recap集锦
2021/03/11 DOTA
详解Python爬取并下载《电影天堂》3千多部电影
2019/04/26 Python
Python figure参数及subplot子图绘制代码
2020/04/18 Python
python3.7 openpyxl 在excel单元格中写入数据实例
2020/09/01 Python
HTML5对比HTML4的主要改变和改进总结
2016/05/27 HTML / CSS
关于html字符串正则判断和匹配的具体使用
2019/12/12 HTML / CSS
详细的大学生创业计划书模板
2014/01/27 职场文书
音乐专业自荐信
2014/02/07 职场文书
2014年廉洁自律承诺书
2014/05/26 职场文书
档案保密承诺书
2014/06/03 职场文书
2014国庆节主题活动方案:快乐的国庆节
2014/09/16 职场文书
蛋糕店创业计划书范文
2014/09/21 职场文书
导游欢迎词范文
2015/01/23 职场文书
放弃遗产继承公证书
2015/01/26 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
现场施工员岗位职责
2015/04/11 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
2021/11/27 Vue.js
nginx中封禁ip和允许内网ip访问的实现示例
2022/03/17 Servers