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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4301/viewspace-2797059/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【自動化測試】Python 讀取 .ini 格式檔案Python
- 介面自動化測試:引數化封裝(excel檔案讀取)封裝Excel
- AutoRunner 功能自動化測試專案實訓之自動化測試原理(一)
- python自動化測試Python
- SpringBoot專案中獲取配置檔案的配置資訊Spring Boot
- 測試開發之自動化篇-自動化測試框架設計框架
- 測試開發全棧之 Python 自動化全棧Python
- python 介面自動化測試Python
- Windows UIA自動化測試框架學習--獲取qq好友列表WindowsUI框架
- 自動化測試系列 —— UI自動化測試UI
- UI自動化測試之AirtestUIAI
- python自動化測試之異常及日誌Python
- python介面自動化測試之python基礎語法Python
- Python 自動化測試框架unittestPython框架
- python自動化測試-原創Python
- 【自動化測試入門】自動化測試思維
- python介面自動化測試之介面資料依賴Python
- 自動化測試基礎之Python常見問題Python
- 【python介面自動化】- ConfigParser配置檔案的使用Python
- python 桌面應用自動化測試Python
- Python自動化測試框架介紹Python框架
- selenium+python自動化測試Python
- Python自動化測試框架-pytestPython框架
- 如何使用Selenium自動化測試工具獲取動態圖片驗證碼?
- python讀配置檔案配置資訊Python
- 自動化測試是什麼?什麼軟體專案適合自動化測試?
- Android 自動化測試之 MonkeyAndroid
- 前端自動化測試之葵花寶典前端
- iOS自動化測試之KIF使用分享iOS
- python+pytest介面自動化之測試函式、測試類/測試方法的封裝Python函式封裝
- 內部UI自動化測試培訓之python基礎UIPython
- python3 selenium web自動化測試之excel引數化PythonWebExcel
- 軟體測試:自動化測試
- 自動化裝置測試與自動化測試的區別
- Python 指令碼之獲取CPU資訊Python指令碼
- 自動化測試理解
- 自動化測試思路
- airTest自動化測試AI