目录
前言
本篇教程以录制视频教学,需要的朋友可以点击这里进入群聊领取
为什么使用配置文件
在python自动化测试中,为了减轻测试脚本维护过程中工作量,我们可以将一些常用的变量或者参数值放置在配置文件中。
当我们需要修改某个变量的值时,只需修改配置文件中的选项值就可以实现这一目的,不在需要去改变代码中的每个变量
尤其是对页面需求经常变动的UI测试而言,掌握配置文件的读取方法,可以较大限度的减少代码修改量
配置文件的优点
除了可以减轻测试脚本在维护过程中的工作量,使用配置文件还有如下优点:
- 可以不用去修改源代码,配置文件的修改只会影响读取时的存在与否,不会影响到代码的正常运行,提高代码的容错率;
- 不管是在维护阶段还是搭建自动化阶段,我们只需要对配置文件进行读取,而不是重复地写冗余代码,从而提高工作效率。
正文
在自动化测试中,经常使用的配置文件类型包括如下两类,分别为:①.ini ②.yaml,这两个文件类型也分别应用在UI的自动化和接口的自动化中
.ini配置文件
.ini配置文件格式如下:
;这里是注释
[section0]
key0 = value0
key1 = value1
[section1]
key2 = value2
key3 = value3
section不能重复,里面数据通过section去查找,每个seletion下可以有多个key和vlaue的键值对,注释用英文分号( ; )
读取.ini配置文件信息的操作流程
针对.ini配置文件,直接使用python自带的configparser模块读写配置文件
-
导入configparser模块:from configparser import ConfigParser
-
实例化ConfigParser类:config = ConfigParser()
-
读取配置文件:config.read(“配置文件名称.ini”,encoding=“utf-8”)
-
获取配置文件中某一option的值:val = config.get(“section名称”,“option名称”)
-
config.options(“section名称”)
-
获取当前配置文件中的所有section:secs = config.sections()
在Python3中,我们一般使用configparser模块来读取ini文件
# python3
import configParser
和Python2不同的是,Python2里面直接conf.read(cfgpath)就可以了,Python3需要加个参数:encoding=“utf-8”
conf.read(cfgpath, encoding="utf-8")
代码编写
分别在common文件夹下新建配置文件:config.ini 和 读取配置文件:readConf.py ,然后编写代码…
配置文件 :config.ini
以UI自动化中常用的url为例:配置文件中按照功能模块分为 risk 、rule 、term ;其下的url地址分别代表该模块下某个功能点的url
[risk]
;新建风险
url0 = www.baidu.com
;新建风险目录、导入风险模板
url1 = xxxx
[rule]
;新建制度目录
url1 = xxxxx
;制度审批任务模板
url2 = xxxxxxx
[term]
;新建术语
url1 = xxxxxx
;新建术语目录
url2 = xxxxxx
读取配置文件 :readConf.py
以下是封装好的读取配置文件的方法
import configparser
import os
class ReadConf():
def __init__(self):
curpath = os.path.dirname(os.path.relpath(__file__))
#获取配置文件路径
cfgpath = os.path.join(curpath, "config.ini"