在接口測試的過程中,很多時(shí)候會(huì)用到對CSV的讀取操作,本文主要說明Python3對CSV的寫入和讀取。
1. 需求
某API,GET方法,token,mobile,email三個(gè)參數(shù)
- 
    
token為必填項(xiàng)
 - 
    
mobile,email 必填其中1項(xiàng)
 - 
    
mobile為手機(jī)號(hào),email為email格式
 
2. 方案
針對上面的API,在做接口測試時(shí),需要的測試用例動(dòng)輒會(huì)多達(dá)10+, 這個(gè)時(shí)候采用數(shù)據(jù)驅(qū)動(dòng)的方式將共性的內(nèi)容寫入配置文件或許會(huì)更合適。
這里考慮把API、參數(shù)、以及預(yù)期結(jié)果預(yù)行在格式化的CSV里保存,利用csv組件從CSV里讀取URL、參數(shù)以及預(yù)期結(jié)果,Requests組件發(fā)起請求,將響應(yīng)結(jié)果與預(yù)期結(jié)果進(jìn)行比對,***把比對結(jié)果寫到結(jié)果CSV。
流程如下圖

3. 實(shí)現(xiàn)
(1) 在上代碼之前,先安裝好如下幾個(gè)組件:
- 
    
csv 讀寫CSV文件
 - 
    
json
 - 
    
requests 發(fā)起請求,獲取響應(yīng)結(jié)果
 - 
    
unittest 測試用例調(diào)度
 
(2) data.csv(本示例選取部分用例)

(3) reader_CSV函數(shù)代碼示例

(4) request_URL函數(shù)示例(包含GET請求和POST請求2個(gè)方法)

(5) assert_Result函數(shù)示例

(6) write_CSV函數(shù)示例

(7) test_interface1函數(shù)示例

8result_1523956055.csv(本示例中的測試結(jié)果請忽略)

4. 總結(jié)















 
 
 














 
 
 
 