IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 【Python自动化测试18】配置文件解析与实际应用 -> 正文阅读

[开发测试]【Python自动化测试18】配置文件解析与实际应用

一、前言

??本文章主要讲解Python中什么是配置文件,配置文件如何使用,有哪些支持的配置文件等内容,除此之外下方有系列文章的传送门,还在持续更新中,感兴趣的小伙伴也可以前往查看,话不多说,让我们一起看看吧~

系列文章:
??系列文章1:【Python自动化测试1】遇见Python之美
??系列文章2:【Python自动化测试2】Python安装配置及PyCharm基本使用
??系列文章3:【Python自动化测试3】初识数据类型与基础语法
??系列文章4:【Python自动化测试4】字符串知识总结
??系列文章5:【Python自动化测试5】列表与元组知识总结
??系列文章6:【Python自动化测试6】字典与集合知识总结
??系列文章7:【Python自动化测试7】数据运算符知识合集
??系列文章8:【Python自动化测试8】流程控制语句讲解
??系列文章9:【Python自动化测试9】函数知识合集
??系列文章10:【Python自动化测试10】文件基础操作
??系列文章11:【Python自动化测试11】模块、包与路径知识合集
??系列文章12:【Python自动化测试12】异常处理机制知识合集
??系列文章13:【Python自动化测试13】类、对象、属性与方法知识合集
??系列文章14:【Python自动化测试14】Python自动化测试基础与进阶练习题
??系列文章15:【Python自动化测试15】unittest测试框架的核心概念与作用
??系列文章16:【Python自动化测试16】测试用例数据分离
??系列文章17:【Python自动化测试17】openpyxl二次封装与数据驱动

二、配置文件讲解

2.1 什么是配置文件?

??配置文件是用于配置计算机程序的参数和初始化设置的文件,如果没有这些配置程序可能无法运行或是影响运行(运行速度、便捷性等),使用配置文件的好处在于,部分内容以及环境运行时只需要修改配置文件的参数内容,而无需去代码里查找并修改,提高便捷性、提高可维护性

??

2.2 配置文件的形式

配置主要有四种形式:
??第一种是YAML、JSON、XML、TOML、INI、Linux系统中的.bashrc一类,主要应用于软件测试领域,在软件测试的领域行业中,大多数公司采用最新的YAML形式来作为配置文件,例如数据库地址、用例数据等内容的存放,而少部分公司仍然采用旧的INI配置形式,大家也需要大致了解与掌握。

??第二种是excel表格的形式,在excel表格中会有固定的title代表每个字段列的含义,有多列,以此来进行配置,多用于游戏领域中,在游戏行业大量使用excel表格的形式,已经是一个常态了。

??第三种是py文件,py文件对于一个纯Python项目而言是非常方便的,它不需要做数据的读取操作,只需要进行导入即可,不好的点在于,没有YAML这一类灵活,YAML配置文件无论是Python、Java等语言,都是支持的,且数据类型支持很多,而py的配置文件,就只能用作于python,有一定的局限性。

??第四种是txt文本格式,通过读取的方式来识别到txt文本内容,通常而言是测开或者测试工程师制作的简便工具,供给业务层面的测试人员进行使用,降低了YAML这种配置的理解难度,也避免了打开excel的缓慢,用轻量级txt来代替是一个不错的选择。

??

2.3 熟悉YAML格式

??YAML做为最常见的配置文件格式,我们必须要掌握,基本的YAML格式参考如下:


# host为地址,port为端口,database为数据库地址,我们可以通过yaml配置文件的方式存储这些数据
# yaml文件类似于Python的字典,左边是键,右边是值,冒号后面必须加空格隔开
# key通常不需要加引号,值通常是字符串均会建议加引号

host: "www.baidu.com"
port: 8899
database: "127.10.10.1"

??YAML也支持嵌套,即进阶用法,可以使用本身的嵌套也可以使用字典形式:

host: "www.baidu.com"
port: 8899

# 这种表现形式是嵌套形式
database:
  url: "http://1314.520.sf"
  port: 3306
  name: "萌笑天的小黑屋"

# 也可以修改成字典的形式
database1: {"url": "http://137.15.37.84", "Port": 8959, "name": "萌笑天的小白屋"}

??除字典以外,我们还可以使用列表的方式来存储一组数据,也有特殊的列表存储方式:

# 列表存储
user: ["mxt", "CSDN", "test"]

# 列表存储的另一种形式
user1:
  - "mxt1"
  - "CSDN1"
  - "test1"

??

2.4 熟悉ini格式

??ini格式目前并非主流的配置格式,新项目大多数采用YAML、Excel等方式进行配置,而少有的部分公司仍然采用旧版的ini配置文件格式,ini有过多的局限性,我们学习是为了在碰到这一类配置文件时能够了解对应内容、能够读懂、看懂,不需要深入学习,但也需要了解。
??一个基本的ini格式配置如下所示,ini格式的配置文件的值只有字符串,即使你输入的是一个阿拉伯数字,ini配置文件也会把它当成是一个字符串,keyvalue的分隔符号与YAML不同,使用的是等于号进行分割

# 这是ini的配置格式
# 代码块语句没有ini选项,故此选择的是YAML文件,当你复制如下的内容至你的ini文件时代码段会有特殊颜色标识及高亮展示
[default] # 默认格式
host=https://www.baidu.com
port=5656

[db] # 数据库相关的使用db
host=https://kingkou.blog.csdn.net/
port=3306
nmae=萌笑天

[excel] # 表格相关的使用excel
name=cases.xlsx

??

三、数据读取

3.1、YAML数据读取

??我们使用YAML进行数据存储,肯定是希望能够用到这些数据的,那么就需要进行数据读取,在Python中进行YAML数据读取可以使用pyyaml,需要先通过pip进行安装,安装好后读取即可。

??读取YAML的数据后是以字典的方式呈现:

import yaml  # 请注意,在这里导入的时候并不是pyyaml,而是导入yaml

with open("Demo.yaml", mode='r', encoding="utf-8") as my_yaml:
    data = yaml.safe_load(my_yaml)
print(data)

在这里插入图片描述

3.2、INI数据读取

??YAML支持读取,INI也同样支持,当我们要进行INI数据读取时需要导入一个Python内置的模块,导入后即可进行数据读取:

import configparser # 导入用以读取ini配置文件数据

parser = configparser.ConfigParser() # 初始化解析器

parser.read("config.ini", encoding="utf-8") # 通过解析器对象获取数据

data = parser.get("db", "name") # 需要填写两个参数,section和option,section代表分组,option代表选项
print(data)

在这里插入图片描述

??
??

??好啦~以上就是本次文章分享的全部内容啦,你学会了吗?希望能给大家带来帮助哦!

??
??

在这里插入图片描述

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-02-24 15:36:05  更:2022-02-24 15:37:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:33:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码