在實際測試的過程中,,我們需要將一些需要參數(shù)化的數(shù)據(jù)存儲在.txt/.xslx/.csv文件中。我們可以封裝一些方法來讀取文件中的數(shù)據(jù),,來實現(xiàn)數(shù)據(jù)驅(qū)動,。enumerate()函數(shù)是python的內(nèi)置函數(shù),(enumerate在字典上是枚舉,、列舉的意思),。enumerate()函數(shù)用于將一個可遍歷的數(shù)據(jù)對象(如列表、元組或字符串)組合為一個索引序列,,同時列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),,一般用在 for 循環(huán)當(dāng)中。enumerate(sequence, [start=0])以登錄測試為例,獲取不同的用戶名和密碼,,進(jìn)行數(shù)據(jù)提取的封裝,。1、首先我們創(chuàng)建account.csv文件,,放置在自動化測試框架目錄data下,。(這里建議先創(chuàng)建TXT格式的文件,并輸入相應(yīng)的參數(shù),,中間以應(yīng)為標(biāo)點“,”分隔,,然后另存為.csv格式,不建議直接修改拓展名,,容易損壞文件)2,、在公共類下定義讀取文件的函數(shù),,使用with open()方法打開文件,。使用enumerate()方法讀取指定列的數(shù)據(jù)。補充:這里的編碼方式不是utf-8而是utf-8-sig,。因為UTF-8以字節(jié)為編碼單位,,他的字節(jié)順序在所有的系統(tǒng)中都是一樣的,沒有字節(jié)序的問題,,也因此實際上并不需要BOM(ByteOrderMark)但是UTF-8 with BOM即utf-8-sig需要提供BOM,。3、我們在其他的業(yè)務(wù)模塊需要讀取數(shù)據(jù)的時候,,就可以直接使用我們封裝的方法進(jìn)行讀取了,。
|