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 相关文章推荐
Django基于ORM操作数据库的方法详解
Mar 27 Python
python 匹配url中是否存在IP地址的方法
Jun 04 Python
Python设置在shell脚本中自动补全功能的方法
Jun 25 Python
Django框架实现的简单分页功能示例
Dec 04 Python
Python叠加两幅栅格图像的实现方法
Jul 05 Python
python实现代码统计器
Sep 19 Python
Python3 pandas 操作列表实例详解
Sep 23 Python
python根据时间获取周数代码实例
Sep 30 Python
Python 使用 prettytable 库打印表格美化输出功能
Dec 26 Python
Python连接Impala实现步骤解析
Aug 04 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
Sep 23 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
Jan 28 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调用数据库的存贮过程
2006/10/09 PHP
PHP截取发动短信内容的方法
2017/07/04 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
2018/04/20 PHP
浅谈JavaScript编程语言的编码规范
2011/10/21 Javascript
JS关键字变色实现思路及代码
2013/02/21 Javascript
使用js 设置url参数
2013/07/08 Javascript
IE8的JavaScript点击事件(onclick)不兼容的解决方法
2013/11/22 Javascript
按Enter键触发事件的jquery方法实现代码
2014/02/17 Javascript
js 获取浏览器版本以此来调整CSS的样式
2014/06/03 Javascript
javascript使用数组的push方法完成快速排序
2014/09/15 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
VUE使用vuex解决模块间传值问题的方法
2017/06/01 Javascript
使用JavaScript实现点击循环切换图片效果
2017/09/03 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
vue中activated的用法
2021/01/03 Vue.js
[01:03:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第一场 1月29日
2021/03/11 DOTA
通过Python实现自动填写调查问卷
2017/09/06 Python
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
python使用tkinter实现简单计算器
2018/01/30 Python
Python实现基于KNN算法的笔迹识别功能详解
2018/07/09 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
2018/09/02 Python
python字符串中匹配数字的正则表达式
2019/07/03 Python
Django model 中设置联合约束和联合索引的方法
2019/08/06 Python
python多线程与多进程及其区别详解
2019/08/08 Python
什么是python的函数体
2020/06/19 Python
CSS3实现时间轴特效
2020/11/02 HTML / CSS
HTML5本地存储之Database Storage应用介绍
2013/01/06 HTML / CSS
网络编辑职责
2014/03/01 职场文书
《夹竹桃》教学反思
2014/04/20 职场文书
2014年小学数学教师工作总结
2014/12/03 职场文书
严以律己专题学习研讨会发言材料
2015/11/09 职场文书
2016年“节能宣传周”活动总结
2016/04/05 职场文书
创业者如何撰写出一份打动投资人的商业计划书?
2019/07/02 职场文书
创业计划书之餐饮
2019/09/02 职场文书
创业计划书之美甲店
2019/09/20 职场文书
python中Pyqt5使用Qlabel标签播放视频
2022/04/22 Python