python+request+Excel做接口自動化測試


轉載:https://www.cnblogs.com/LinxiHuang/p/9297230.html

python+request+Excel做接口自動化測試

 

request是python的一個http客戶端庫,與urllib、urllib2類似。但是使用比urllib2簡單。
安裝request : pip install requests
1、POST方法
#封裝http POST 函數,返回請求response
def httpPost(self,keyword,url):
data=json.dumps(keyword)
headers={"Content-Type":"application/json"}
res=requests.post(url,data=data,headers=headers)
responseJson=res.json()
return responseJson
2、GET方法
#封裝http Get函數,返回response
def httpGet(self,keyword,url,data):
headers={"Content-Type":"application/json"}
res=requests.get(url,data=data,headers=headers)
responseJson=res.json()
return responseJson
3、封裝request請求函數
#封裝請求函數
def httpGetOrPost(self,method,url,data):
# global mres
headers = {"Content-Type": "application/json"}
if method in "get":
mres=requests.get(url,data=data,headers=headers)
elif method == "post":
#postdata = json.dumps(data)
mres=requests.post(url,data=data,headers=headers)
elif method in"put":
mres=requests.put(url,data=data,headers=headers)
elif method in "delete":
mres=requests.delete(url,data=data,headers=headers)
else:
mres = requests.post(url, data=data, headers=headers)
print("錯誤")
# responseJson=mres.json()
return mres.json()

進行測試:
def test0001(self):
self.url="http://apptest.buddyniu.com/api/apps/BUDDY_API_TEST/accounts/login"
self.method="post"
self.data={"password":"e10adc3949ba59abbe56e057f20f883e","clientSecret":"a123af4e331cf61c0324cd43cbc2135d","accountId":"13590404631"}
res=self.httpGetOrPost(self.method,self.url,self.data)
print res


5、使用excel
由於我的系統為win10,excel后綴為xlsx,故需要使用openpyxl 模塊
大概使用方法如下:
def readSheet(self):
wb = load_workbook(r'd:\apitestcase.xlsx')
# 獲得所有sheet的名稱
print(" 獲得所有sheet的名稱")
print(wb.get_sheet_names())
# 根據sheet名字獲得sheet
a_sheet = wb.get_sheet_by_name('apitestcase')
# 獲得sheet名
print(a_sheet.title)
# 獲得當前正在顯示的sheet, 也可以用wb.get_active_sheet()
sheet = wb.active
# 獲取某個單元格的值,觀察excel發現也是先字母再數字的順序,即先列再行
b4 = sheet['B1']
print(b4.value)
# 除了用下標的方式獲得,還可以用cell函數, 換成數字,這個表示B4
b4_too = sheet.cell(row=4, column=2)
print(b4_too.value)

6、封裝excel函數
def readSheetdata(self,cell):
wb=load_workbook(r'd:\apitestcase.xlsx')
sheet=wb.active
value=sheet[cell]
print(value.value)
return value.value

7、測試讀取excel中的值,之后做請求

excel表格內容大概如下:

這里是第一個測試

def test00001(self):
self.url=self.readSheetdata('C2')
self.data=self.readSheetdata('D2')
self.method=self.readSheetdata('E2')
res=self.httpGetOrPost(self.method,self.url,self.data)

測試結果:

 


注:
導入excel,這里使用openpyxl ,xlxs后綴的一般使用openpyxl 
from openpyxl import load_workbook
載入utf8編碼
import sys
reload(sys)
sys.setdefaultencoding('utf8')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM