Selenium–資料驅動(python)
前言:
什麼是資料驅動?
從它的本意來解釋,就是資料的改變從而驅動自動化測試的執行,最終引起測試結果的改變。其實就是引數化。
本次介紹2種檔案驅動:ini檔案和yaml檔案
一、ini檔案
1、定義
程式沒有任何配置檔案,那麼它對外是全封閉的,一旦程式需要修改一些引數必須要修改程式程式碼本身並重新編譯,為了讓程式出廠後還能根據需要進行必要的配置,所以要用配置檔案;配置檔案有很多種,如INI配置檔案,XML配置檔案,cfg配置檔案,還有就是可以使用系統登錄檔等。
INI ”就是英文 “initialization”的頭三個字母的縮寫;當然INI file的字尾名也不一定是”.ini”也可以是”.cfg”,”.conf ”或者是”.txt”。
2、經典格式
INI檔案的格式很簡單,最基本的三個要素是:parameters,sections和comments。
INI所包含的最基本的“元素”就是parameter;每一個parameter都有一個name和一個value
所有的parameters都是以sections為單位結合在一起的。所有的section名稱都是獨佔一行,並且sections名字都被方括號包圍著,在section宣告後的所有parameters都是屬於該section
在INI檔案中comments註釋語句是以分號“;”開始的
3、具體檔案舉例
4、python讀寫ini方法
需要匯入Python自帶的模組, 用來讀寫配置檔案:
import ConfigParser
**讀取ini檔案**:
read(filename):讀取ini檔案中的內容
sections():得到所有section,返回列表形式
options(section):得到給定section的所有option
items(section):得到指定section的所有key-value
get(section,option):得到section中的option值,返回str型別
getint(section,option):得到section中的option值,返回int型別
寫入ini檔案:
write(filename):寫入ini檔案中的內容
add_section(section):寫入指定section
Set(section,option,value):寫入指定section中的option的值
5、讀取ini檔案具體程式碼範例
import configparser
# ======== Reading mail_config.ini setting ===========
cf = configparser.ConfigParser()
cf.readfp(open("D:\API\config\mail_config.ini"))
smtpserver = cf.get("mail", "smtpserver")
sender = cf.get("mail", "sender")receiver = cf.get("mail", "receiver")
username = cf.get("mail", "username")password = cf.get("mail", "password")
6、寫入ini檔案具體程式碼範例
import configparser
# ======== write 1.ini setting ===========
config = configparser.ConfigParser()
# set a number of parameters
config.add_section("book")
config.set("book", "title", "the python standard library")
config.set("book","author", "fredrik lundh")
config.add_section("ematter")
config.set("ematter", "pages","250")
# write to fileconfig.write(open(`1.ini`, "w"))
二、yaml檔案
1、YAML定義
YAML的官方定義很簡單,即“一種人性化的資料格式定義語言”,其主要功能用途類似於XML或JSON,YAML使用空白字元和分行來分隔資料,且巧妙避開各種封閉符號,如:引號、括號等,以避免這些符號在複雜層次結構中變得難以辨認。YAML的語法與高階語言類似,可以很簡單地表述“序列(java中的list)、雜湊表(java中的map)、標量(java中的基本型別等)”資料結構,它重點強調可閱讀性。
2、YAML用途
YAML比較適合做序列化。因為它是宿主語言資料型別直轉的。
YAML做配置檔案也不錯。寫YAML要比寫XML快得多(無需關注標籤或引號),並且比ini文件功能更強。
3、YAML vs XML
與YAML相似的資料格式定義語言是XML,YAML比XML優越性表現在
- YAML的可讀性好
- YAML和指令碼語言的互動性好
- YAML使用實現語言的資料型別
- YAML有一個一致的資訊模型
- YAML易於實現
上面5條是XML不足的地方,同時,YAML也具有XML的下列優點:
- YAML可以基於流來處理
- YAML表達能力強,擴充套件性好
YAML類似於XML的資料描述語言,語法比XML簡單很多,YAML試圖用一種比XML更敏捷的方式,來完成XML所完成的任務。
4、YAML-物件示例
YAML 支援的資料結構有三種。
-物件:鍵值對的集合,又稱為對映(mapping)/ 雜湊(hashes) / 字典(dictionary)
-陣列:一組按次序排列的值,又稱為序列(sequence) / 列表(list)
-純量(scalars):單個的、不可再分的值
5、python讀取YAML檔案
程式碼片段如下:
import yaml
# ======== Reading mail.yaml setting ===========
fr = open("D:\API\config\mail.yaml")
get_config = yaml.load(fr)
smtpserver = get_config["smtpserver"]
sender = get_config["sender"]
receiver = get_config["receiver"]
username = get_config["username"]
password = get_config["password"]
以上為最簡單的用法,大家如有興趣可以自行延伸學習~~
相關文章
- Python 資料驅動工具:DDTPython
- selenium 資料驅動框架自動化從0到1--3框架
- python驅動SAP完成資料匯出(二)Python
- 鴻蒙資料驅動鴻蒙
- 資料驅動: 建立資料文化
- selenium+chrome()驅動下載地址Chrome
- 詳解資料驅動
- 資料驅動產業資產產業
- Mybatis資料庫驅動MyBatis資料庫
- Watir資料驅動 - ExcelExcel
- Unreal Cook Book:資料驅動Unreal
- 關於資料庫驅動資料庫
- (六)WPF資料驅動模式模式
- fasttest-selenium 關鍵字驅動自動化工具AST
- #MAC 版本關於selenium驅動的安裝Mac
- python+selenium 連線MySQL資料庫PythonMySql資料庫
- python3 使用 Selenium 自動化測試或爬取資料Python
- 資料驅動背後的“陷阱”
- 資料驅動企業增長
- 資料驅動的介面設計
- python LAADS+Selenium下載MODIS資料Python
- win10驅動資料夾在哪裡_win10顯示卡驅動在哪個資料夾Win10
- 基於Python的介面自動化-unittest測試框架和ddt資料驅動Python框架
- Vue原始碼分析之資料驅動Vue原始碼
- DDT資料驅動效能測試(一)
- 10種資料驅動策略提高CRO
- 高通Camera模組驅動指南資料
- DBVisualizer 新增資料庫JDBC驅動資料庫JDBC
- 探索AntDB:資料驅動時代的引擎
- selenium+python 操作滾動條Python
- selenium中瀏覽器及對應的驅動(可下載)瀏覽器
- 影響資料驅動業務目標的大資料挑戰大資料
- vue資料入口initSate開始分析資料驅動更新原理Vue
- 分析:資料化生存,資料驅動未來的今天
- 如何理解自動化測試資料驅動與關鍵字驅動的區別?
- 驅動開發之基本資料結構資料結構
- 如何利用大資料驅動業務增長?大資料
- Vue核心思想:資料驅動、元件化Vue元件化