首页>手记>华为测试大牛Python+Django接口自动化怎么写的?
华为测试大牛Python+Django接口自动化怎么写的?

https://img3.sycdn.imooc.com/5caf266b0001abc511920665.jpg

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

不皮了,进入正题。本文中用到的技术点有:Python基础、Django基础、Request库、一丢丢前端基础。(考虑到大家零基础,所以文中代码编写使用纯新手手法)

1、先创建一个Django项目(具体请参考Django基础入门教程)

2、创建一个模板,新增一个index.html页面


    
    Parker接口测试
    接口测试
    
        
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
        
接口地址:                  
            
选择方法:                 POST                GET            
参数类型:                                      Json                     XML                     Data                              
测试数据:                              
预期结果:                  
            
实际结果:                         
            
测试结果:                 
            
                                 
    

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 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中加入:

https://img1.sycdn.imooc.com/5caf26ec0001f78904420059.jpg

运行项目


https://img4.sycdn.imooc.com/5caf26c90001c34503770483.jpg

输入参数:

https://img3.sycdn.imooc.com/5caf273a0001715703720384.jpg

执行测试:

https://img4.sycdn.imooc.com/5caf27630001a6a003620381.jpg

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

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

大家有问题可以留言,积极讨论

扩展阅读




爱码小士
软件测试工程师
相关文章推荐