接口自动化:Python+Django实现接口测试工具

2021/6/11 1:20:58

本文主要是介绍接口自动化:Python+Django实现接口测试工具,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

引言:

         最近被几个公司实习生整自闭了,没有基础,想学自动化又不知道怎么去学,没有方向没有头绪,说白了其实就是学习过程中没有成就感,所以学不下去。出于各种花里胡哨的原因,今天给大家整一个简单又有成就感的接口自动化学习吧。

         不皮了,进入正题。本文中用到的技术点有: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 requestsimport jsonclass 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 renderfrom django.http import HttpResponseimport jsonfrom 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函数处理接口请求并返回结果

记得添加Django路由

在urls中加入:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

运行项目:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

输入参数:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

执行测试:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

好了,以上就是一个简单的Django接口测试开发,比较适合基础不好的朋友入门学习

学习最好的老师是兴趣,兴趣最好的培养就是成就感,希望大家在学习的过程中都能找到成就感。 



这篇关于接口自动化:Python+Django实现接口测试工具的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程