Python自动化测试之获取配置文件信息
2021/7/6 3:28:15
本文主要是介绍Python自动化测试之获取配置文件信息,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
为什么使用配置文件
在python自动化测试中,为了减轻测试脚本维护过程中工作量,我们可以将一些常用的变量或者参数值放置在配置文件中。
当我们需要修改某个变量的值时,只需修改配置文件中的选项值就可以实现这一目的,不在需要去改变代码中的每个变量
尤其是对页面需求经常变动的UI测试而言,掌握配置文件的读取方法,可以较大限度的减少代码修改量
配置文件的优点
除了可以减轻测试脚本在维护过程中的工作量,使用配置文件还有如下优点:
可以不用去修改源代码,配置文件的修改只会影响读取时的存在与否,不会影响到代码的正常运行,提高代码的容错率;
不管是在维护阶段还是搭建自动化阶段,我们只需要对配置文件进行读取,而不是重复地写冗余代码,从而提高工作效率。
正文
在自动化测试中,经常使用的配置文件类型包括如下两类,分别为:①.ini ②.yaml,这两个文件类型也分别应用在UI的自动化和接口的自动化中
.ini配置文件
.ini配置文件格式如下:
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文件
和Python2不同的是,Python2里面直接conf.read(cfgpath)就可以了,Python3需要加个参数:encoding=“utf-8”
代码编写
分别在common文件夹下新建配置文件:config.ini 和 读取配置文件:readConf.py ,然后编写代码…
配置文件 :config.ini
以UI自动化中常用的url为例:配置文件中按照功能模块分为 risk 、rule 、term ;其下的url地址分别代表该模块下某个功能点的url
读取配置文件 :readConf.py
以下是封装好的读取配置文件的方法
用例编写
优化前代码:
优化后代码:
经过修改后,每次更新url地址,只需在配置文件中修改就好了,是不是方便多了~~
接下来我们来看接口自动化中有关.yaml配置文件的使用方法
.yaml配置文件
Yaml文件我们要注意其写法
k: v 表示一对键值对
冒号后面是有一个空格的
以空格的缩进来代表层级关系,对齐代表的就是同一层级
属性和值也是大小写敏感
.yaml配置文件的书写格式如下(一般使用字典的方式进行书写):
示例:
在使用.yaml配置文件时,option与value之间需要有一个空格
读取.yaml配置文件信息的操作流程
针对.yaml配置文件,需要手动安装pyyaml:pip install pyyaml
引入yaml模块:import yaml
打开yaml文件
调用yaml.load函数加载文件对象,返回值为dict
代码示例
具体实现
封装读取配置文件的操作
由于读取配置文件信息的操作流程相对比较固定,因此我们可以其封装成一个类。
当我们需要使用时,只需引入该模块即可
后话
以上就是Python自动化测试中简单的读取配置文件,罗马不是一天就能建成的,企业中的自动化测试框架也是如此
去优化每个流程、每个模块,这样带来的效率提升,才是自动化测试的意义和技术所在
————————————————
版权声明:本文为CSDN博主「Chaqian」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Chaqian/article/details/117373641
这篇关于Python自动化测试之获取配置文件信息的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程