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中用Decorator来简化元编程的教程
Apr 13 Python
Python Matplotlib库安装与基本作图示例
Jan 09 Python
Python pycharm 同时加载多个项目的方法
Jan 17 Python
Python根据服务获取端口号的方法
Sep 25 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
Oct 21 Python
Pytorch模型转onnx模型实例
Jan 15 Python
python动态文本进度条的实例代码
Jan 22 Python
解决numpy矩阵相减出现的负值自动转正值的问题
Jun 03 Python
python统计mysql数据量变化并调用接口告警的示例代码
Sep 21 Python
Django搭建项目实战与避坑细节详解
Dec 06 Python
python - timeit 时间模块
Apr 06 Python
Python干货实战之八音符酱小游戏全过程详解
Oct 24 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设置图片文件上传大小的具体实现方法
2013/10/11 PHP
PHP获取服务器端信息的方法
2014/11/28 PHP
ThinkPHP框架里隐藏index.php
2016/04/12 PHP
PHP自定义图片缩放函数实现等比例不失真缩放的方法
2016/08/19 PHP
Ajax实现对静态页面的文章访问统计功能示例
2016/10/10 PHP
Nigma vs Alliance BO5 第二场2.14
2021/03/10 DOTA
基于Asp.net与Javascript控制的日期控件
2010/05/22 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/06/05 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
2016/06/14 Javascript
用最简单的方法判断JavaScript中this的指向(推荐)
2017/09/04 Javascript
ES6中新增的Object.assign()方法详解
2017/09/22 Javascript
webpack打包js的方法
2018/03/12 Javascript
javascript动态创建对象的属性详解
2018/11/07 Javascript
JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】
2018/12/19 Javascript
使用jQuery如何写一个含验证码的登录界面
2019/05/13 jQuery
实现高性能javascript的注意事项
2019/05/27 Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
2020/01/05 Javascript
Javascript柯里化实现原理及作用解析
2020/10/22 Javascript
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
python使用xmlrpc实例讲解
2013/12/17 Python
python机器学习实战之K均值聚类
2017/12/20 Python
Python 数据库操作 SQLAlchemy的示例代码
2019/02/18 Python
python实现诗歌游戏(类继承)
2019/02/26 Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
2019/07/08 Python
基于logstash实现日志文件同步elasticsearch
2020/08/06 Python
Marlies Dekkers内衣荷兰官方网店:荷兰奢侈内衣品牌
2020/03/27 全球购物
一家外企的面试题目(C/C++面试题,C语言面试题)
2014/03/24 面试题
元旦红领巾广播稿
2014/02/19 职场文书
团队队名口号大全
2014/06/06 职场文书
综艺节目策划方案
2014/06/13 职场文书
放飞理想演讲稿
2014/09/09 职场文书
情感电台广播稿
2015/08/18 职场文书
《天净沙·秋思》教学反思三篇
2019/11/02 职场文书