为了账号安全,请及时绑定邮箱和手机立即绑定

Python自动化测试之获取配置文件信息

为什么使用配置文件

在python自动化测试中,为了减轻测试脚本维护过程中工作量,我们可以将一些常用的变量或者参数值放置在配置文件中。

当我们需要修改某个变量的值时,只需修改配置文件中的选项值就可以实现这一目的,不在需要去改变代码中的每个变量

尤其是对页面需求经常变动的UI测试而言,掌握配置文件的读取方法,可以较大限度的减少代码修改量


配置文件的优点

除了可以减轻测试脚本在维护过程中的工作量,使用配置文件还有如下优点:


可以不用去修改源代码,配置文件的修改只会影响读取时的存在与否,不会影响到代码的正常运行,提高代码的容错率;

不管是在维护阶段还是搭建自动化阶段,我们只需要对配置文件进行读取,而不是重复地写冗余代码,从而提高工作效率。

正文

在自动化测试中,经常使用的配置文件类型包括如下两类,分别为:①.ini ②.yaml,这两个文件类型也分别应用在UI的自动化和接口的自动化中


.ini配置文件

.ini配置文件格式如下:

https://img1.sycdn.imooc.com//60e32a7d0001b53f05690319.jpg

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文件

https://img1.sycdn.imooc.com//60e32a9d0001ab4d06260069.jpg

和Python2不同的是,Python2里面直接conf.read(cfgpath)就可以了,Python3需要加个参数:encoding=“utf-8”

https://img1.sycdn.imooc.com//60e32ab40001162907500041.jpg


代码编写

分别在common文件夹下新建配置文件:config.ini 和 读取配置文件:readConf.py ,然后编写代码…

https://img1.sycdn.imooc.com//60e32ae50001f67c04590277.jpg

配置文件 :config.ini

以UI自动化中常用的url为例:配置文件中按照功能模块分为 risk 、rule 、term ;其下的url地址分别代表该模块下某个功能点的url

https://img1.sycdn.imooc.com//60e32b0b0001947f07750481.jpg

读取配置文件 :readConf.py

以下是封装好的读取配置文件的方法

https://img1.sycdn.imooc.com//60e32b3a000119cb08430745.jpg

用例编写

优化前代码:

https://img1.sycdn.imooc.com//60e32b6d000140a106830483.jpg

https://img1.sycdn.imooc.com//60e32b99000182a206230451.jpg

优化后代码:

https://img1.sycdn.imooc.com//60e32bd000010d2909080542.jpg

https://img1.sycdn.imooc.com//60e32c0400019db408900538.jpg

经过修改后,每次更新url地址,只需在配置文件中修改就好了,是不是方便多了~~


接下来我们来看接口自动化中有关.yaml配置文件的使用方法


.yaml配置文件

Yaml文件我们要注意其写法


k: v 表示一对键值对

冒号后面是有一个空格的

以空格的缩进来代表层级关系,对齐代表的就是同一层级

属性和值也是大小写敏感

.yaml配置文件的书写格式如下(一般使用字典的方式进行书写):

https://img1.sycdn.imooc.com//60e32c240001939005470266.jpg

示例:

https://img1.sycdn.imooc.com//60e32c410001a17705580151.jpg

在使用.yaml配置文件时,option与value之间需要有一个空格


读取.yaml配置文件信息的操作流程

针对.yaml配置文件,需要手动安装pyyaml:pip install pyyaml


引入yaml模块:import yaml


打开yaml文件


调用yaml.load函数加载文件对象,返回值为dict

代码示例

https://img1.sycdn.imooc.com//60e32c6f0001c99406960267.jpg

具体实现


https://img1.sycdn.imooc.com//60e32c930001cbdd08020445.jpg

封装读取配置文件的操作

由于读取配置文件信息的操作流程相对比较固定,因此我们可以其封装成一个类。
当我们需要使用时,只需引入该模块即可

https://img1.sycdn.imooc.com//60e32cb3000127da09330476.jpg

后话

以上就是Python自动化测试中简单的读取配置文件,罗马不是一天就能建成的,企业中的自动化测试框架也是如此
去优化每个流程、每个模块,这样带来的效率提升,才是自动化测试的意义和技术所在

————————————————

版权声明:本文为CSDN博主「Chaqian」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/Chaqian/article/details/117373641


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消