Python+Django實現(xiàn)接口測試工具的示例代嗎
引言:
最近被幾個公司實習(xí)生整自閉了,沒有基礎(chǔ),想學(xué)自動化又不知道怎么去學(xué),沒有方向沒有頭緒,說白了其實就是學(xué)習(xí)過程中沒有成就感,所以學(xué)不下去。出于各種花里胡哨的原因,今天給大家整一個簡單又有成就感的接口自動化學(xué)習(xí)吧。
不皮了,進入正題。本文中用到的技術(shù)點有:Python基礎(chǔ)、Django基礎(chǔ)、Request庫、一丟丟前端基礎(chǔ)。(考慮到大家零基礎(chǔ),所以文中代碼編寫使用純新手手法)
1、先創(chuàng)建一個Django項目
具體教程:http://www.dbjr.com.cn/article/187936.htm
2、創(chuàng)建一個模板,新增一個index.html頁面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Parker接口測試</title> </head> <body> <h3 style="...">接口測試</h3> <form action="/index/" method="post"> <table> <tr> <td>接口地址:</td> <td> <input type="text" name="url" /> <br/> </td> </tr> <tr> <td>選擇方法:</td> <td> <input type="radio" name="fun" value="post" checked/>POST <input type="radio" name="fun" value="get" />GET </td> </tr> <tr> <td>參數(shù)類型:</td> <td> <select name="leixin"> <option value="json">Json</option> <option value="xml">XML</option> <option value="date">Data</option> </select> </td> </tr> <tr> <td>測試數(shù)據(jù):</td> <td> <textarea name="testdate" style="with:200px;height:60px;"></textarea> </td> </tr> <tr> <td>預(yù)期結(jié)果:</td> <td> <input type="text" name="exr" /> <br/> </td> </tr> <tr> <td>實際結(jié)果:</td> <td> <label>{{ data1 }}</label><br/> </td> </tr> <tr> <td>測試結(jié)果:</td> <td> <label>{{ data }}</label><br/> </td> </tr> <tr> <td> <input type="submit" value="執(zhí)行測試" /> </td> </tr> </table> </form> </body> </html>
3、在項目包中新建py文件,封裝接口調(diào)用類
import requests import json class cls_api: def post(self,url,par): a_url=url a_par=par res=requests.post(a_url,a_par) return res def get(self,url,par): a_url=url a_par=par res=requests.get(a_url,a_par) return res
4、在views文件中添加如下代碼
#-*- coding:utf-8 -*- from django.shortcuts import render from django.http import HttpResponse import json from parkerapi import postapi def index(request): pt=postapi.cls_api() exr=request.POST.get('exr',None) data="" data1="" if request.method=='POST': data=pt.post(request.POST.get('url',None), json.loads(request.POST.get('testdate',None))) result=data.json() data1=result['message'] if int(result['message']==int(exr)): data=u'測試通過' else: data=u'測試失敗' return render(request,"index.html",{"data":data,"data1":data1}) def add_args(a,b): x=int(a) y=int(b) return x+y def post(request): if request.method=='POST': d={} if request.POST: a=request.POST.get('a',None) b=request.POST.get('b',None) if a and b: res=add_args(a, b) d['message']=res d=json.dumps(d) return HttpResponse(d) else: return HttpResponse(u'輸入錯誤') else: return HttpResponse(u'輸入為空') else: return HttpResponse(u'方法錯誤')
add_args函數(shù)處理加法運算,index函數(shù)接收前端POST數(shù)據(jù),處理數(shù)據(jù)并返回結(jié)果,post函數(shù)處理接口請求并返回結(jié)果
記得添加Django路由
在urls中加入:
運行項目
輸入?yún)?shù):
執(zhí)行測試:
到此這篇關(guān)于Python+Django實現(xiàn)接口測試工具的示例代嗎的文章就介紹到這了,更多相關(guān)Django接口測試工具內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python的代理類實現(xiàn),控制訪問和修改屬性的權(quán)限你都了解嗎
這篇文章主要為大家詳細(xì)介紹了Python的代理類實現(xiàn),控制訪問和修改屬性的權(quán)限,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03關(guān)于你不想知道的所有Python3 unicode特性
我的讀者知道我是一個喜歡痛罵Python3 unicode的人。這次也不例外。我將會告訴你用unicode有多痛苦和為什么我不能閉嘴。我花了兩周時間研究Python3,我需要發(fā)泄我的失望。在這些責(zé)罵中,仍然有有用的信息,因為它教我們?nèi)绾蝸硖幚鞵ython3。如果沒有被我煩到,就讀一讀吧2014-11-11python -m pip install 和 pip in
python -m pip install <package> 使用了 -m 參數(shù)來確保以 Python 模塊的形式運行 pip,適用于確保在不同的環(huán)境中正確使用 pip,這篇文章主要介紹了python -m pip install 和 pip install 的區(qū)別,需要的朋友可以參考下2023-07-07打開Jupyter Notebook不自動跳轉(zhuǎn)到瀏覽器問題以及解決方案
這篇文章主要介紹了打開Jupyter Notebook不自動跳轉(zhuǎn)到瀏覽器問題以及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04