摘要:總結大部分人做接口自動化的流程后,發現基本上都是做接口請求用來存儲用例生成測試報告完成定時任務。其實在完成這個流程的過程中,代碼編寫只占用了一小部分的時間,大部分的時間都浪費在搭建環境和用例編寫上。可以通過這個方式去轉換一些有問題的。
總結大部分人做接口自動化的流程后,發現基本上都是:python + requests做接口請求;Excel用來存儲用例;HTMLTestRunner生成測試報告;Jenkins完成定時任務。
其實在完成這個流程的過程中,代碼編寫只占用了一小部分的時間,大部分的時間都浪費在搭建環境和用例編寫上。這里我記錄一些遇到的問題。
一、接口請求
(1)配置請求方法:get 和 post 方法簡單封裝,header中參數設置
# _*_coding:utf-8 _* import requests #get請求 def get(url,querystring): headers = requestHeader() response = requests.request("GET", url, headers=headers, params=querystring) # print response.url return response #post請求 def post(url,payload,querystring): headers = requestHeader() response = requests.request("POST", url, data=payload, headers=headers, params=querystring) # print response.url return response #設置請求的header def requestHeader(): headers = { "Content-Type": "application/json", "Cache-Control": "no-cache" } return headers
(2)針對post請求的body,開始時使用的時text的dict去請求,請求錯誤總是返回:"請求參數錯誤",后來使用postman進行調試,直接復制已經轉換成json格式的body傳參進行請求,終于成功。
可以通過這個方式去轉換一些有問題的body。
(3)body轉換為json的另一種方式:通過ast模塊進行轉換(推薦)
import ast caseParams = ast.literal_eval(caseParams)
(4)通過openpyxl模塊獲取用例Excel
#用例名 caseName = caseFile.getCellVaule(ws,rowIndex,1) #url caseUrl = caseFile.getCellVaule(ws,rowIndex,3) #請求方式 caseMethod = caseFile.getCellVaule(ws,rowIndex,4) #參數 caseParams = caseFile.getCellVaule(ws,rowIndex,5)
備注:在獲取用例信息的過程中,需要對一些參數進行容錯
A:是否有參數,若無參數,需傳空;
B:get參數和post body需要分開處理:
get的參數是以 "¶m"形式明文拼接在url中;
#將請求參數轉換為json格式 caseParams = ast.literal_eval(caseParams) keys = dict(caseParams).keys() values = dict(caseParams).values() for x in xrange(0,len(keys)): tempQuery[keys[x]] = values[x]
post的body需要放在dict中進行傳參;
caseParams = ast.literal_eval(caseParams)
(5)分割所需的參數,將結果寫入到文件內
#請求返回的內容,轉換為json格式 text = json.loads(response.text) caseFile.setCellValue(ws,rowIndex,6,response.text) #URL請求耗時 spendTime = response.elapsed.total_seconds() caseFile.setCellValue(ws,rowIndex,7,spendTime) #請求結果狀態 statue = response.status_code caseFile.setCellValue(ws,rowIndex,8,statue) self.assertEqual(statue, 200)
(6)將請求結果寫入html文件,并展示
(7)配置到Jenkins,定時執行查看接口的可達性
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/44924.html
摘要:一概述在創業公司里,項目都比較趕,測試人員也是疲于測試功能模塊,基本沒空去寫什么自動化測試,以提升回歸測試的效率。三做自動化測試的動機最大的動機提升回歸測試的效率。重要業務接口的自動化測試,盡量做到多而全,爭取全面覆蓋。 ...
摘要:重點在自動化測試過程中,經常需要使用文件來存儲測試用例,那么在表格內設計好了測試用例數據后,如何通過自動化讀取呢此時就需要測試小姐姐動手寫代碼了本文主要介紹通過來讀取表格數據。 ...
摘要:目錄提交代碼常用命令讀寫文件一常用命令從遠程倉庫克隆整個項目代碼列出當前目錄所有還沒有被管理的文件和被管理且被修改但還未提交的文件提交全部未跟蹤和修改文件,但是不處理刪除文件將暫存區里的改動給提交到本地的版本庫參數表示可以直接輸入后面的 目錄 Git提交代碼常用命令 python 讀寫Excel文件Demo 一、Git常用命令 git clone #從遠程倉庫克隆整個項目代碼sh...
摘要:總結整個過程的難點在于獲取文件對象,從數據中取值然后在按取出,這樣我們就可以從后臺上傳文件,然后進行批量導入數據庫,其他數據格式只需要改和中的數據字段就可以 第一篇(從django后臺解析excel數據批量導入數據庫) 文章會在github中持續更新 作者: knthony github 聯系我 1.django 如何從后臺上傳excel中批量解析數據 要從django后臺導入...
摘要:關鍵字驅動的自動化測試框架建立在數據驅動手段之上,表中包含指令關鍵詞,而不只是數據。關鍵字驅動的自動化測試是對數據驅動的自動化測試的有效改進和補充。 今天,我們來...
閱讀 3143·2021-11-23 10:02
閱讀 3118·2021-11-16 11:53
閱讀 3093·2021-09-23 11:21
閱讀 3369·2019-08-30 13:02
閱讀 1622·2019-08-29 16:18
閱讀 1557·2019-08-29 12:55
閱讀 1457·2019-08-26 12:24
閱讀 2085·2019-08-26 10:36