python读取yaml文件的内容_自动化测试-Python读取YAML配置文件

YAML是什么?

YAML是一种简洁的非标记语言。使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。由于实现简单,解析成本很低,YAML特别适合在脚本语言中使用。YAML 是专门用来写配置文件的语言,非常简洁和强大。

更相信的解读请看百度百科:YAML

今天我们要做的就是怎么用 YAML 书写配置文件并调用。

新建 YAML文件

新建 yaml 文件很简单,在目录或者编辑器中新建一个文件,把文件的后缀改成 .yaml 就行了。

YAML 格式

yaml 格式很简单,变量名后面加一个英文冒号,冒号后赋值。

Python

platformName: Android

1

platformName:Android

YAML 语法特点

•大小写敏感

•使用缩进表示层级关系

•缩进时不允许使用Tab键,只允许使用空格。

•缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

•冒号后面至少有一个空格

•键值包含非英文字母和数字,需用引号引起来

YAML 安装导入

要使用 YAML,我们在 Python 中先要安装它。

Python

pip install PyYAML

1

pipinstallPyYAML

安装完成后导入即可。

Python

import PyYAML

1

importPyYAML

YAML 使用

把我们的变量卸载配置文件里而不是直接写在脚本里就是为了方便后期的维护,假如说脚本里有10个地方都写了这个变量值,如果这个变量值有改动的话,那么我们需要在脚本里改动10个地方,这样很消耗人力和时间,那如果我们写在 yaml 配置文件里面,那么我们只需要改动一次配置文件的值就可以了。

简单调用

比如我们做 APP 自动化,需要填写 APP 的相关信息,我们把他写在配置文件里。

Python

platformName: Android

platformVersion: 5.1.1

deviceName: 127.0.0.1:62001

appPackage: com.xx.xxx

appActivity: .ui.activity.xxxxx

noReset: Trueip: 127.0.0.1

port: 4723

1

2

3

4

5

6

7

platformName:Android

platformVersion:5.1.1

deviceName:127.0.0.1:62001

appPackage:com.xx.xxx

appActivity:.ui.activity.xxxxx

noReset:Trueip:127.0.0.1

port:4723

我们用 with open 先读取配置文件在输入变量名就能取到其变量值了。

层级调用

前面语法特点里说的,通过缩进来表示层级关系,而且缩进的时候不能用 Tab 键,只能用空格。比如我又多了一台设备,deviceName 下面层级关系多了一台设备名称。

Python

platformName: Android

platformVersion: 5.1.1

deviceName: 127.0.0.1:62001

deviceName2:127.0.0.1:62025

appPackage: com.xx.xxx

appActivity: .ui.activity.xxxxx

noReset: Trueip: 127.0.0.1

port: 4723

1

2

3

4

5

6

7

8

platformName:Android

platformVersion:5.1.1

deviceName:127.0.0.1:62001

deviceName2:127.0.0.1:62025

appPackage:com.xx.xxx

appActivity:.ui.activity.xxxxx

noReset:Trueip:127.0.0.1

port:4723

要用的时候后面多一个中括号加入层级的变量名就行。

好了,以上就是 yaml 配置文件的使用,还有另一种 ini 配置文件的用法,下次再和大家分享。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值