有人喜欢创造世界,他们做了开发者;有的人喜欢开发者,他们做了测试员。什么是软件测试?软件测试就是一场本该在用户面前发生的灾难提前在自己面前发生了,这会让他们生出一种救世主的感觉,拯救了用户,也就拯救者这个软件,避免了他们被卸载的命运。

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

不皮了,进入正题。本文中用到的技术点有: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接口测试开发,比较适合基础不好的朋友入门学习

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

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

最新文章

  1. ajaxReturn
  2. mybatis一对多查询
  3. DS实验题 PlayGame Kruskal(UnionFindSet)
  4. Activity 和 生命周期: 创建
  5. POJ 1775 (ZOJ 2358) Sum of Factorials
  6. 新浪微博开放平台开发-android客户端(1)【转】
  7. [HMLY]11.iOS函数式编程的实现&amp;&amp;响应式编程概念
  8. javaWeb知识的回顾
  9. MongoDB数据库安装及配置环境终极教程(windows10系统)
  10. RMI方式Ehcache集群的源码分析
  11. Elasticsearch .net client NEST 5.x 使用总结
  12. Java使用序列化的私有方法巧妙解决部分属性持久化问题
  13. docker 常用命令(一)
  14. UVALive 6915 Leveling Ground 倍增RMQ
  15. h2database轻量级数据库
  16. LoadRunner-参数化(界面说明)
  17. ASP.NET Web API 记录请求响应数据到日志的一个方法
  18. T4 生成实体和简单的CRUD操作
  19. linux命令(28):Linux下SCP无需输入密码传输文件,python 中scp文件
  20. Appium命令行工作模式

热门文章

  1. Oracle 单实例 Relink Binary Options 说明
  2. 通过ajax GET方式查询数据,Django序列化objects
  3. tp5多数据库配置
  4. Spring hibernate 事务的流程
  5. 随手练——HDU 1078 FatMouse and Cheese(记忆化搜索)
  6. yarn的学习-2-从 npm 迁移到 yarn-包管理工具
  7. PReLU与ReLU
  8. OpenCV——积分图计算
  9. Python2.7-SciPy
  10. 使用Android绘图技术绘制一个椭圆形,然后通过触摸事件让该椭圆形跟着手指移动