最近被幾個(gè)公司實(shí)習(xí)生整自閉了从藤,沒有基礎(chǔ)催跪,想學(xué)自動(dòng)化又不知道怎么去學(xué),沒有方向沒有頭緒夷野,說白了其實(shí)就是學(xué)習(xí)過程中沒有成就感懊蒸,所以學(xué)不下去。出于各種花里胡哨的原因悯搔,今天給大家整一個(gè)簡單又有成就感的接口自動(dòng)化學(xué)習(xí)吧骑丸。
不皮了,進(jìn)入正題妒貌。本文中用到的技術(shù)點(diǎn)有:Python基礎(chǔ)通危、Django基礎(chǔ)、Request庫灌曙、一丟丟前端基礎(chǔ)菊碟。(考慮到大家零基礎(chǔ),所以文中代碼編寫使用純新手手法)
1在刺、先創(chuàng)建一個(gè)Django項(xiàng)目(具體請(qǐng)參考Django基礎(chǔ)入門教程)
2逆害、創(chuàng)建一個(gè)模板,新增一個(gè)index.html頁面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Parker接口測(cè)試</title>
</head>
<body>
<h3 style="...">接口測(cè)試</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>測(cè)試數(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>實(shí)際結(jié)果:</td>
<td>
<label>{{ data1 }}</label><br/>
</td>
</tr>
<tr>
<td>測(cè)試結(jié)果:</td>
<td>
<label>{{ data }}</label><br/>
</td>
</tr>
<tr>
<td>
<input type="submit" value="執(zhí)行測(cè)試" />
</td>
</tr>
</table>
</form>
</body>
</html>
3蚣驼、在項(xiàng)目包中新建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'測(cè)試通過'
else:
data=u'測(cè)試失敗'
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'輸入錯(cuò)誤')
else:
return HttpResponse(u'輸入為空')
else:
return HttpResponse(u'方法錯(cuò)誤')
add_args函數(shù)處理加法運(yùn)算隙姿,index函數(shù)接收前端POST數(shù)據(jù)梅垄,處理數(shù)據(jù)并返回結(jié)果,post函數(shù)處理接口請(qǐng)求并返回結(jié)果
如果對(duì)軟件測(cè)試、接口測(cè)試队丝、自動(dòng)化測(cè)試靡馁、性能測(cè)試、LR腳本開發(fā)机久、面試經(jīng)驗(yàn)交流臭墨。感興趣可以273462828,群內(nèi)會(huì)有不定期的發(fā)放免費(fèi)的資料鏈接膘盖,這些資料都是從各個(gè)技術(shù)網(wǎng)站搜集胧弛、整理出來的,如果你有好的學(xué)習(xí)資料可以私聊發(fā)我侠畔,我會(huì)注明出處之后分享給大家结缚。
記得添加Django路由
在urls中加入:
運(yùn)行項(xiàng)目
輸入?yún)?shù):
執(zhí)行測(cè)試:
好了,以上就是一個(gè)簡單的Django接口測(cè)試開發(fā)软棺,比較適合基礎(chǔ)不好的朋友入門學(xué)習(xí)
學(xué)習(xí)最好的老師是興趣红竭,興趣最好的培養(yǎng)就是成就感,希望大家在學(xué)習(xí)的過程中都能找到成就感喘落。
大家有問題可以留言茵宪,積極討論