目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
configparser的介绍
ConfigParser模块已在Python 3中重命名为configparser
该模块定义了ConfigParser类。 ConfigParser类实现一种基本的配置文件解析器语言,该语言提供的结构类似于 .ini 文件中的结构
ini文件相关知识
键值对可用 = 或者 : 进行分隔;
section 的名字是区分大小写的,而 option 的名字是不区分大小写的;
键值对中头部和尾部的空白符会被去掉;
值可以为多行;
配置文件可以包含注释,注释以 # 或者 ; 为前缀;
ini文件示例
[server]
age = 45
username = yes
# server就是section
# age、username就是option
操作ini文件
实例化ConfigParser类;
读取配置文件;
操作配置文件;
基础代码
import configparser
filename = 'F:/Interface/config/server.ini'
# 实例化configparser
config = configparser.ConfigParser()
# 读取配置文件
config.read(filename, encoding="utf-8-sig")
# 获取某个option的值(最常见的操作)
config.get(section="server", option="username")
当配置文件有中文时,在调用 read() 方法时,需要传 encoding=“utf-8-sig” 参数
最常见的操作就是 get(section,option,fallback=“默认值”) ,获取某个option的值,当然也可以传个 fallback ,当你的option不存在的时候,就会返回fallback的值
configparser封装类
为了更好的复用configparser,我们将常用的方法写成一个封装类
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
__title__ = 操作配置文件工具类
"""
import configparser
class ConfigUtil:
# 实例化configparser
config = configparser.ConfigParser()
def read(self, filename):
"""
读取配置文件
:param filename: 配置文件路径
"""
self.config.read(filename, encoding="utf-8-sig")
def get(self, _options, _section='server'):
"""
获取某个options值
:param _options: option
:param _section: section
"""
try:
# 方式一:调用方法
value = self.config.get(section=_section, option=_options, fallback="默认值,key不存在则返回此值")
# 方式二:索引
value = self.config[_section][_options]
except Exception as e:
print("没有获取到值")
value = None
return value
def get_options_key_value(self, _section):
"""
以列表(name,value)的形式返回section中的每个值
:param _section: 某个section
:return: list[tuple(key,value)]
"""
return self.config.items(_section)
def get_all_section(self):
"""
获取所有section
"""
return self.config.sections()
def get_options_by_section(self, _section):
"""
获取section下所有可用options
"""
# 方式一
keys = []
for _options in self.config[_section]:
keys.append(_options)
# 方式二(推荐)
keys = self.config.options(_section)
return keys
def assert_section_in_config(self, _section):
"""
判断section是否存在
:param _section: 需要判断的section
"""
return _section in self.config
def assert_options_in_section(self, _section, _options):
"""
判断options是否存在某个section中
:param _section: 某个section
:param _options: 需要判断的options的key值
"""
return _options in self.config[_section]
configUtil = ConfigUtil()
if __name__ == '__main__':
filename = 'F:/imocInterface/config/server.ini'
configUtil.read(filename)
print(configUtil.get("username"))
print(configUtil.get_all_section())
print(configUtil.assert_section_in_config("server"))
print(configUtil.get_options_by_section("server"))
print(configUtil.assert_options_in_section("server", "usernsame"))
print(configUtil.get_options_key_value("server"))
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
在人生的路上,不要被困难和挫折吓倒。坚持自己的梦想,为之努力拼搏。每一次尝试都是收获经验的机会,成功只有在不断尝试中才会到来。相信自己,不畏艰辛,你将收获更加美好的未来!
只有勇往直前的人,才能走向成功的巅峰;只有不断磨砺的心灵,才能闯出自己的天地。永远相信自己,坚定自己的目标,一步一个脚印向前迈进,你会发现奇迹就在不远处!
只有勇敢面对挑战,才能迎来成功的喜悦;只有不停追求进步,才能打造美好的未来。让我们一起努力奋斗,用汗水和智慧创造属于自己的辉煌!