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脚本实现集群检测和管理功能
Mar 06 Python
Python实现简单多线程任务队列
Feb 27 Python
node.js获取参数的常用方法(总结)
May 29 Python
利用PyCharm Profile分析异步爬虫效率详解
May 08 Python
在Python中COM口的调用方法
Jul 03 Python
python自带tkinter库实现棋盘覆盖图形界面
Jul 17 Python
python3文件复制、延迟文件复制任务的实现方法
Sep 02 Python
python selenium 执行完毕关闭chromedriver进程示例
Nov 15 Python
Spring实战之使用util:命名空间简化配置操作示例
Dec 09 Python
详解pandas获取Dataframe元素值的几种方法
Jun 14 Python
发工资啦!教你用Python实现邮箱自动群发工资条
May 10 Python
Python&Matlab实现灰狼优化算法的示例代码
Mar 21 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中使用临时表查询数据的一个例子
2013/02/03 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
2014/04/29 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
2016/05/17 PHP
JQuery select标签操作代码段
2010/05/16 Javascript
javascript 折半查找字符在数组中的位置(有序列表)
2010/12/09 Javascript
EXTJS FORM HIDDEN TEXTFIELD 赋值 使用value不好用的问题
2011/04/16 Javascript
setTimeout()与setInterval()方法区别介绍
2013/12/24 Javascript
Javascript玩转继承(二)
2014/05/08 Javascript
原生js和jQuery随意改变div属性style的名称和值
2014/10/22 Javascript
bootstrap监听滚动实现头部跟随滚动
2016/11/08 Javascript
通过示例彻底搞懂js闭包
2017/08/10 Javascript
利用JQuery操作iframe父页面、子页面的元素和方法汇总
2017/09/10 jQuery
基于vue-simplemde实现图片拖拽、粘贴功能
2018/04/12 Javascript
使用webpack3.0配置webpack-dev-server教程
2018/05/29 Javascript
ionic grid(栅格)九宫格制作详解
2018/06/30 Javascript
vue单页缓存方案分析及实现
2018/09/25 Javascript
[02:12]Dota 2 推出全新英雄—— 电炎绝手
2019/08/23 DOTA
python计算方程式根的方法
2015/05/07 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
Django中F函数的使用示例代码详解
2020/07/06 Python
python调用有道智云API实现文件批量翻译
2020/10/10 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
2020/11/28 Python
python里glob模块知识点总结
2021/01/05 Python
linux系统下pip升级报错的解决方法
2021/01/31 Python
【HTML5】Canvas绘制简单图片教程
2016/05/13 HTML / CSS
新加坡交友网站:be2新加坡
2019/04/10 全球购物
普通院校学生的自荐信
2013/11/27 职场文书
实习教师自我鉴定
2013/12/12 职场文书
公司培训欢迎词
2014/01/10 职场文书
管事部库房保管员岗位职责
2014/02/21 职场文书
服装设计专业毕业生求职信
2014/04/09 职场文书
服务型党组织建设典型材料
2014/05/07 职场文书
民族团结好少年事迹材料
2014/08/19 职场文书
小学开学典礼新闻稿
2015/07/17 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
Python如何将list中的string转换为int
2022/07/15 Ruby