国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

利用Python如何實現數據驅動的接口自動化測試

2020-02-23 00:05:38
字體:
來源:轉載
供稿:網友

前言

大家在接口測試的過程中,很多時候會用到對CSV的讀取操作,本文主要說明Python3對CSV的寫入和讀取。下面話不多說了,來一起看看詳細的介紹吧。

1、需求

某API,GET方法,token,mobile,email三個參數

token為必填項 mobile,email 必填其中1項 mobile為手機號,email為email格式

2、方案

針對上面的API,在做接口測試時,需要的測試用例動輒會多達10+, 這個時候采用數據驅動的方式將共性的內容寫入配置文件或許會更合適。

這里考慮把API、參數、以及預期結果預行在格式化的CSV里保存,利用csv組件從CSV里讀取URL、參數以及預期結果,Requests組件發起請求,將響應結果與預期結果進行比對,最后把比對結果寫到結果CSV。

流程如下圖 ☟

3、實現

1、在上代碼之前,先安裝好如下幾個組件:

csv  讀寫CSV文件 json requests  發起請求,獲取響應結果 unittest    測試用例調度

2、data.csv(本示例選取部分用例)

3、reader_CSV函數代碼示例

import csvimport jsonimport requestsimport timeimport unittestdef readCSV(self,filename): ''' :param filename: 需要讀取的數據文件 :return: [{data1},{data2}...] ''' datas = [] try: #以DictReader的方式讀取數據文件,方便與json互做轉換 with open(filename,'r') as csvfile : #從文件里讀取到的數據轉換成字典列表的格式 reader = csv.DictReader(csvfile) for row in reader: data = {} data['id'] = row['id'] data['url'] = row['url'] data['token'] = str(row['token']) data['mobile'] = row['mobile'] data['email'] = row['email'] data['expect'] = json.dumps(row['expect']) / if isinstance(row['expect'],dict) / else row['expect'] #如果expect讀取出來的不是json則取其原值,否則轉為json格式保存到result里 datas.append(data) return datas #如果文件找不到,返回空的datas except FileNotFoundError: print("文件不存在",filename) return datas

4、request_URL函數示例(包含GET請求和POST請求2個方法)

def get_request(self,url,params): ''' 通用的調用GET接口方法 :param url:string 接口路徑 :param params:{"":"","":""} 需要傳入的參數 :return: response響應體 ''' print("調用API...") r = requests.get(url,params=params) print(r.text) return rdef post_request(self,url,params): ''' 通用的調用POST接口方法 :param url: string 接口路徑 :param params: {"":"","":""} 需要傳入的參數 :return:response響應體 ''' print("調用API...") r = requests.post(url,params=json.dumps(params)) #post的方法必須用json.dumps()轉化成json格式 print(r.text) return r            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 曲靖市| 化德县| 彭山县| 闵行区| 抚州市| 锦屏县| 黑龙江省| 崇左市| 福清市| 龙川县| 寿光市| 蓬溪县| 枣阳市| 司法| 百色市| 高州市| 米林县| 鄂伦春自治旗| 沁源县| 延津县| 保山市| 光泽县| 吉隆县| 庆阳市| 郎溪县| 深圳市| 怀远县| 石柱| 新和县| 海原县| 花垣县| 河津市| 姚安县| 泸溪县| 横山县| 武平县| 新余市| 襄垣县| 日喀则市| 阿克苏市| 开阳县|