华为测试大牛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 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接口测试开发,比较适合基础不好的朋友入门学习

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

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

原文地址:https://www.cnblogs.com/nanaheidebk/p/10603421.html

时间: 2024-09-28 03:32:31

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

浅析Python进行接口自动化

python进行接口自动化需要依赖于requests库,首先如果没有下载该库,使用pip进行下载到本地:1.进入D:\软件安装文件夹\PYTHON\Scripts目录下(ps:这个看个人安装python位置),使用cmd进入命令界面,输入pip install requests,完成后即可使用 参考示例: 期间自己调测可以使用fiddler抓包进行调试,后面再研究使用unitest测试框架进行校验等 原文地址:https://blog.51cto.com/12390959/2369129

python+requests接口自动化完整项目设计源码

前言 有很多小伙伴吵着要完整的项目源码,完整的项目属于公司内部的代码,这个是没法分享的,违法职业道德了,就算别人分享了,也只适用于本公司内部的业务. 所以用例的代码还是得自己去一个个写,我只能分享项目框架,只能帮你们到这了. 一.项目结构 1.新建一个工程(一定要创建工程),工程名称自己定义,如:yoyo_jiekou 2.在工程的跟目录新建一个脚本:run_main.py,用来执行全部用例 3.在工程下创建以下几个pakage包: --case:这个包放test开头的测试用例,也可以放一些封装

基于python的接口自动化实战(一)

最近接触了接口自动化,经过大约一个月的时间,利用工作之余,借助公司的项目,搭建了接口自动化框架(此框架是要实现脚本与数据的完全分离).整个过程中,最重要的就是实现思路,思路有了,实现起来还是不困难的. 第一篇就先记录一下搭建框架的大致思路. 1.首先,整个框架应该包含的内容 简单概括:执行测试用例,生成测试报告 2.怎么实现测试用例的执行 本框架中,使用Excel管理测试用例,所以整个框架的核心就是获取Excel表格中需要的数据(或者说获取执行每一个接口测试需要的数据) 整个的框架如下图所示:

python WEB接口自动化测试之requests库详解

1.Get请求 前提: requests库是python的第三方库,需要提前安装哦,可以直接用pip命令:`python –m pip install requests` 按照惯例,先将requests库的属性打印出来,看看哪些属性. >>> import requests >>> dir(requests) #查看requests库的属性 ['ConnectionError', 'HTTPError', 'NullHandler', 'PreparedRequest'

python Django接口自动化测试

记录下自己开发的接口自动化测试平台: 接口测试相对于UI测试来说测试成本低,相对稳定,变动不大,日常测试可使用postman.jmeter.python request等进行测试. 以下就介绍python request开发的框架来进行接口测试.功能满足批量测试,支持Excel导入数据库,自定义选中测试接口,图表测试统计等功能. 后端语言采用python的django来开发,之前没接触过django,本想用java web来做后台的,但还是想尝试下,所以便有了这个作品,好在过程还顺利,边做边学,

python + requests 接口自动化教程 (案例最多-教程最完善)

作者:上海-悠悠 博客首页:https://www.cnblogs.com/yoyoketang/ selenium 教程地址:https://www.cnblogs.com/yoyoketang/tag/python%E6%8E%A5%E5%8F%A3%E8%87%AA%E5%8A%A8%E5%8C%96/ 原文地址:https://www.cnblogs.com/junshiliangmeng/p/12006051.html

python+requests接口自动化入门--返回值的处理

import requests import json url = "http://xxxxxxxxxxxxxxxxxxxxxx" r = requests.get(url, params={'eid': '1'}) result = r.json() print(result) print(json.dumps(result, encoding="UTF-8", ensure_ascii=False)) print(result['status']) print(

接口自动化1.0 python+unittest

自己尝试拿自己测试的系统编写接口自动化,不断优化,不断完善,记录学习过程,以及过程中遇到的问题及解决办法. 采用的结构是python+unittest,数据驱动模式 代码的结构: 测试数据: 处理测试数据,使用tool里面的get_data.py,代码: import openpyxl class Do_Excel: def __init__(self, file_name, sheet_name): self.file_name = file_name self.sheet_name = sh

2020年第二期《python接口自动化+测试开发》课程,预售!

2020年第二期<python接口自动化+python测试开发>课程,12月15号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:12月15号-3月29号,每周六.周日晚上20:30-22:30 报名费:报名费3000一人(周期3个月) 联系QQ:283340479 课表如下 课程主要涉及的内容: 1.fiddler抓包与接口测试(测试基础必备) 2.python+pytest框架实现接口自动化测试(pytest框架甩unittest几条街) 3.httpr