引言:
最近被幾個公司實習生整自閉了,沒有基礎,想學自動化又不知道怎麼去學,沒有方向沒有頭緒,說白了其實就是學習過程中沒有成就感,所以學不下去。出於各種花裡胡哨的原因,今天給大家整一個簡單又有成就感的介面自動化學習吧。
不皮了,進入正題。本文中用到的技術點有:Python基礎、Django基礎、Request庫、一丟丟前端基礎。(考慮到大家零基礎,所以文中程式碼編寫使用純新手手法)
1、先建立一個Django專案(具體請參考Django基礎入門教程)
2、建立一個模板,新增一個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>引數型別:</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>測試資料:</td>
<td>
<textarea name="testdate" style="with:200px;height:60px;"></textarea>
</td>
</tr>
<tr>
<td>預期結果:</td>
<td>
<input type="text" name="exr" /> <br/>
</td>
</tr>
<tr>
<td>實際結果:</td>
<td>
<label>{{ data1 }}</label><br/>
</td>
</tr>
<tr>
<td>測試結果:</td>
<td>
<label>{{ data }}</label><br/>
</td>
</tr>
<tr>
<td>
<input type="submit" value="執行測試" />
</td>
</tr>
</table>
</form>
</body>
</html>
複製程式碼
3、在專案包中新建py檔案,封裝介面呼叫類
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函式處理加法運算,index函式接收前端POST資料,處理資料並返回結果,post函式處理介面請求並返回結果
如果對軟體測試、介面測試、自動化測試、效能測試、LR指令碼開發、面試經驗交流。感興趣可以273462828(備註掘金愛碼士),群內會有不定期的發放免費的資料連結,這些資料都是從各個技術網站蒐集、整理出來的,如果你有好的學習資料可以私聊發我,我會註明出處之後分享給大家。
記得新增Django路由
在urls中加入:
執行專案:
輸入引數:
執行測試:好了,以上就是一個簡單的Django介面測試開發,比較適合基礎不好的朋友入門學習
學習最好的老師是興趣,興趣最好的培養就是成就感,希望大家在學習的過程中都能找到成就感。