作者:良人
前言:
很多人聽過接口測試,但是沒了解過接口測試,現在這篇文章帶你了解接口測試,相信我這并不難,這反而很有趣
一、準備
準備python3 環境
準備requests庫
二、準備兩份接口文檔為接下來的測試做準備
這篇文章隻采用常用的接口請求方法:get,post
是以我隻準備了get方法和post方法的接口文檔及接口
接口位址:http://v.baidu.com/v?word=知否知否應是綠肥紅瘦&ie=utf-8
請求方式:get
功能說明:搜尋片名
參數名 說明
參數: word 片名
參數: ie 編碼格式
接口位址:http://user.360kad.com/Login/AjaxLoginV2
請求方式:post
功能說明:登入康愛多接口
參數名 說明
參數: userName 使用者名 (這需要你去注冊一個賬号和密碼)
參數: pass 使用者密碼 (填你注冊時候的密碼)
參數: isRemberName 記住密碼,記住密碼為true,不記住為false
參數: loginPlatform 預設為1
三、我們先來做get接口測試
1、我們需要先導入requests庫不然接下來的寫的代碼可能執行不了
import requests
2.詳細步驟
我們需要接口文檔中的位址
url = "http://v.baidu.com/v?word=知否知否應是綠肥紅瘦&ie=utf-8"
我們試試請求該網址,用requests中的get方法
request = requests.get(url)
print(“requset.text”)#列印出網頁源碼,傳回的是字元串類型源碼
我們也可以用以下格式請求接口
url = 'http://v.baidu.com/v'
params = {'word':'知否知否應是綠肥紅瘦','ie':'utf-8'}
request = requests.get(url,params=params)
print(“requset.text”)#列印的内容和上面的一樣
接下來我們用if方法來判斷是否請求成功吧
if request.text.__contains__('知否知否應是綠肥紅瘦'):#此步為判斷結果是否包含關鍵字
print("get接口測試通過")
else:
print('get接口測試不通過')
__contains__:python判斷字元串(string)是否包含(contains)子字元串的方法
get接口測試就完成啦,是不是很簡單,接下來讓我們來試試post接口測試
完整代碼如下:
import requests
url = 'http://v.baidu.com/v?'
params = {'word':'知否知否應是綠肥紅瘦','ie':'utf-8'}
request = requests.get(url,params=params)
if request.text.__contains__('知否知否應是綠肥紅瘦'):#此步為判斷結果是否包含關鍵字
print("get接口測試通過")
else:
print('get接口測試不通過')
四、我們現在來試試post接口測試
1、我們先導入requests庫,别忘了這步
import requests
2、詳細步驟
我們把接口測試的文檔位址複制進來并命個名
url = 'http://user.360kad.com/Login/AjaxLoginV2'
我們别忘了他的參數,這得用字典格式,如下:
data = {
'userName':‘填你注冊的賬号’,
'pass':'填你注冊時的密碼',
'isRemberName':'false',
'loginPlatform':'1'
}
然後我們就可以請求這個接口啦!!
request = requests.post(url,data)
這樣就可以請求這個接口了,是不是很簡單。
接下來我們來看看接口傳回的資料
print(“request.text”)
列印出來的内容如下:{"Code":"1","Result":true,"Message":"登入成功!","Data":null}
我們轉一下格式,轉為json格式友善我們使用傳回的資料
print(“request.json()”)
列印出來的内容變為了:{'Code': '1', 'Result': True, 'Message': '登入成功!', 'Data': None}
傳回的内容有result和message我們看這兩個
接下來我們要判斷接口測試是否成功我們可以看result的傳回值
我們用if或者assert來判斷
用if判斷:
if request.json()["Result"] == True:
print("post接口測試通過")#測試通過時列印出來的内容
else:
print("post接口測試不通過")#測試不通過時列印出來的内容
用assert斷言判斷:
assert request.json()["Result"] == True
注意用assert斷言判斷出錯時會直接傳回異常AssertionError
完整代碼如下:
import requests
url = 'http://user.360kad.com/Login/AjaxLoginV2'
data = {
'userName':‘填你注冊的賬号’,
'pass':'填你注冊時的密碼',
'isRemberName':'false',
'loginPlatform':'1'
}
request = requests.post(url,data)
#assert request.json()["Result"] == True#此為斷言判斷
if request.json()["Result"] == True:
print("post接口測試通過")#測試通過時列印出來的内容
else:
print("post接口測試不通過")#測試不通過時列印出來的内容
· 猜你喜歡的文章 ·
🔗
一篇文章,學會jmeter模拟檔案上傳、下載下傳操作
手把手實踐centos7玩轉appium服務環境搭建
selenium自動化之xpath定位必會技能
selenium之css定位小結
和開發溝通總會被拒絕該怎麼辦
Selenium+Java自動化之如何優雅繞過驗證碼
你點的每個贊,我都認真當成了喜歡