程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【Python自動化測試18】配置文件解析與實際應用

編輯:Python

文章目錄

  • 一、前言
  • 二、配置文件講解
    • 2.1 什麼是配置文件?
    • 2.2 配置文件的形式
    • 2.3 熟悉YAML格式
    • 2.4 熟悉ini格式
  • 三、數據讀取
    • 3.1、YAML數據讀取
    • 3.2、INI數據讀取

一、前言

本文章主要講解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)


好啦~以上就是本次文章分享的全部內容啦,你學會了嗎?希望能給大家帶來幫助哦!



  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved