华为测试大牛Python+Django接口自动化怎么写的?
admin
2023-07-10 04:23:47
0

华为测试大牛Python+Django接口自动化怎么写的?

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

不皮了,进入正题。本文中用到的技术点有: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 renderfrom django.http import HttpResponseimport jsonfrom parkerapi import postapidef 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+ydef 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中加入:

华为测试大牛Python+Django接口自动化怎么写的?

运行项目

华为测试大牛Python+Django接口自动化怎么写的?

输入参数:

华为测试大牛Python+Django接口自动化怎么写的?

执行测试:

华为测试大牛Python+Django接口自动化怎么写的?


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

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

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

推荐阅读

       学软件测试最好的几本书,这8本书能帮你很多




相关内容

热门资讯

美伊谈判濒临破裂之际,伊朗议长... 因为以色列持续对黎巴嫩进行军事打击,伊朗宣布暂停同美国的谈判。不过美国总统特朗普称,对话仍在继续。谈...
罕见!以军政策发生“重大转变” 新华社北京6月1日电 题:罕见纵深推进,以军对黎行动会否搅动美伊谈判新华社记者刘品然 阚静文 席玥以...
山西太原发现一处新石器遗址,出... 山西省太原市文物保护研究院协同相关科研机构,近期在太原市阳曲县西盘威村发现一处新石器时代重要遗址——...
伊媒发布穆杰塔巴罕见照片 伊朗塔斯尼姆通讯社6月1日发布了一张最高领袖穆杰塔巴的照片。照片中,穆杰塔巴面露笑容,抱着一个婴儿。...
福建“泡药杨梅”曝光后,浙江杨... 这两天,浙江本地杨梅少量进入市场。虽然受到此前福建 “泡药杨梅” 事件影响,市场整体销量相比去年同期...
尺素金声 | 前4月规上工业企... 5月27日,国家统计局发布最新数据显示,今年前4月,全国规上工业企业实现利润同比增长18.2%,增速...
郑丽文:台湾民众越来越了解“台... 针对台湾《联合报》民调显示,63%受访者民意希望维持现状,即将访美的中国国民党主席郑丽文1日表示,民...
美前副总统:共和党失去了方向,... 2026年是美国的中期选举年,共和党选情不利,可能在年底的选举中遭遇挫败。美国前副总统彭斯5月31日...
南枝原来去过中国?《给阿嬷的情... 《给阿嬷的情书》票房口碑双丰收,目前票房已突破13亿。凤凰卫视最新一期《问答神州》专访了该片导演蓝鸿...
法国海军扣押一艘俄“影子舰队”... 近日,法国海军在大西洋海域扣押了一艘据称从俄罗斯摩尔曼斯克出发的油轮,引发俄方强烈不满。俄新社6月1...