python編寫(xiě)接口測(cè)試文檔(以豆瓣搜索為例)
前言
很多人會(huì)使用postman工具,或者熟悉python,但不一定會(huì)使用python來(lái)編寫(xiě)測(cè)試用例腳本,postman里面可以完整的將python代碼復(fù)制出來(lái)。
(以下所有內(nèi)容以豆瓣網(wǎng)站搜索功能為例子)
一、postman接口用例轉(zhuǎn)換為python測(cè)試用例
打開(kāi)postman,點(diǎn)擊右側(cè)的</>圖標(biāo),頁(yè)面右邊會(huì)顯示腳本,頂部修改導(dǎo)出的語(yǔ)言,這邊我使用的是Python-Reqyests
復(fù)制腳本,在PyCharm中打開(kāi)即可,在導(dǎo)入使用之前如果沒(méi)有reuqests庫(kù),可能會(huì)報(bào)錯(cuò),我們需要安裝reuqests庫(kù)。
cmd命令窗口輸入:pip install requests
導(dǎo)出后的腳本格式如下:
import requests url = "<https://www.douban.com/search?"> payload={'q': '三體'} files=[ ] headers = { 'Cookie': 'bid=5bBvkukAbvY' } response = requests.request("POST", url, headers=headers, data=payload, files=files) print(response.text)
二、轉(zhuǎn)換為pytest測(cè)試用例
1.下面就是轉(zhuǎn)成pytest的測(cè)試用例
import requests class TestDouban: def test_douban(self): url = "<https://www.douban.com/search?"> payload = {'q': '三體'} files = [] headers = { 'Cookie': 'bid=5bBvkukAbvY' } response = requests.request("POST", url, headers=headers, data=payload, files=files) print(response.text)
三、封裝POST和GET方法
在一個(gè)項(xiàng)目中,根路由的路徑是一樣的,只是不同功能對(duì)應(yīng)的具體的接口不一致,且POST和GET是目前測(cè)試用例中比較通用的方法,所以可以將根路由、POST和GET方法封裝成一個(gè)通用的類,后面直接調(diào)用即可。
1.common.py—公共類封裝
import requests class Common: def __init__(self): # 豆瓣根路由 self.url_root = "<https://www.douban.com>" # get請(qǐng)求,uri是接口具體地址,params是get請(qǐng)求的參數(shù),如果沒(méi)有,默認(rèn)為空 def get(self, uri, params=''): # 拼湊訪問(wèn)地址 url = self.url_root + uri + params # 通過(guò)get請(qǐng)求訪問(wèn)對(duì)應(yīng)地址 response = requests.get(url) # 返回request的response結(jié)果,類型為requests的Response類型 return response # post請(qǐng)求,uri是接口具體地址,params是post請(qǐng)求的參數(shù),如果沒(méi)有,默認(rèn)為空 def post(self, uri, params=''): # 拼湊訪問(wèn)地址 url = self.url_root + uri # 有參數(shù),則訪問(wèn)對(duì)應(yīng)的url,并賦值給默認(rèn)參數(shù)data if len(params) > 0: response = requests.post(url, data=params) # 無(wú)參數(shù),只需要訪問(wèn)對(duì)應(yīng)的url即可 else: response = requests.post(url) # 返回request的response結(jié)果,類型為requests的Response類型 return response
2.具體接口測(cè)試用例
import requests from common.common import Common class TestDouban: def setup(self): self.com = Common() def test_douban(self): uri = "/search?" payload = {'q': '三體'} response = self.com.post(uri, payload) # 由于file不需要,就將file刪除了,至于hearder是否要添加可根據(jù)需求來(lái)定
執(zhí)行結(jié)果如下:
總結(jié)
到此這篇關(guān)于python編寫(xiě)接口測(cè)試文檔的文章就介紹到這了,更多相關(guān)python編寫(xiě)接口測(cè)試文檔內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決tensorflow測(cè)試模型時(shí)NotFoundError錯(cuò)誤的問(wèn)題
今天小編就為大家分享一篇解決tensorflow測(cè)試模型時(shí)NotFoundError錯(cuò)誤的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07Python圖像運(yùn)算之圖像灰度直方圖對(duì)比詳解
本篇文章將結(jié)合直方圖分別對(duì)比圖像灰度變換前后的變化,方便大家更清晰地理解灰度變換和閾值變換,文中的示例代碼講解詳細(xì),需要的可以參考一下2022-08-08如何用python 操作MongoDB數(shù)據(jù)庫(kù)
這篇文章主要介紹了如何用python 操作MongoDB數(shù)據(jù)庫(kù),幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04實(shí)例詳解python函數(shù)的對(duì)象、函數(shù)嵌套、名稱空間和作用域
這篇文章主要介紹了python函數(shù)的對(duì)象、函數(shù)嵌套、名稱空間和作用域 ,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05修復(fù)Python縮進(jìn)錯(cuò)誤的方法實(shí)現(xiàn)
在Python中,縮進(jìn)是非常重要的,因?yàn)樗鼪Q定了代碼塊的層次結(jié)構(gòu),本文主要介紹了修復(fù)Python縮進(jìn)錯(cuò)誤的方法實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11Python3.6基于正則實(shí)現(xiàn)的計(jì)算器示例【無(wú)優(yōu)化簡(jiǎn)單注釋版】
這篇文章主要介紹了Python3.6基于正則實(shí)現(xiàn)的計(jì)算器,涉及Python基于正則表達(dá)式的算術(shù)式遍歷、查找及數(shù)學(xué)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2018-06-06python3+PyQt5實(shí)現(xiàn)自定義流體混合窗口部件
這篇文章主要為大家詳細(xì)介紹了python3+PyQt5實(shí)現(xiàn)自定義流體混合窗口部件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04