要测试接口,首先我们要学会开发一个简单的接口,只有你知道了如何开发,你才能更好的进行测试,才能知道具体哪里最容易出错,从而大大的提高测试的准确性以及覆盖率。所以,我们以Django为例子,开发一个简单的接口,去了解一下原理。

Django介绍

Django是重量级全能型的web框架,功能完全,开放源代码,由Python语言编写。

重点:一个大而全的框架,啥都替你考虑好了

Django官方文档

Django工作原理

1. 用户通过浏览器请求一个页面

2. 请求到达Request Middlewares中间件,中间件对request做一些预处理或者直接response请求

3. URLConf通过urls.py文件和请求的URL找到相应的View

4. View Middlewares被访问,它同样可以对request做一些处理或者直接返回response

5. 调用View中的函数

6. View中的方法可以选择性的通过Models访问底层的数据

7. 所有的Model-to-DB的交互都是通过manager完成的

8. 如果需要,Views可以使用一个特殊的Context

9. Context被传给Template用来生成页面

10. Template使用Filters和Tags去渲染输出

11. 输出被返回到View

12. HTTPResponse被发送到Response Middlewares

13. 任何Response Middlewares都可以丰富response或者返回一个完全不同的response

14. Response返回到浏览器,呈现给用户

Django如何开发一个POST接口准备工作

pip install djangopycharm中新建一个Django项目

pycharm中生成如下目录

项目目录介绍

manage.py : Django项目里面的工具,通过它可以调用django shell和数据库等。

TestDemo/

| — settings.py : 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。

| — urls.py : 负责把URL模式映射到应用程序。

| — wsgi.py : 用于项目部署。

Demo /

| — admin.py : django 自带admin后面管理,将models.py 中表映射到后台。

| — apps.py : blog 应用的相关配置。

| — models.py : Django 自带的ORM,用于设计数据库表。

| — tests.py : 用于编写Django单元测试。

| — veiws.py :视图文件,用于编写功能的主要处理逻辑。setting目录中添加一个APP

Login url编写

创建视图函数

from django.shortcuts import render
from django.http.response import HttpResponse
from django.shortcuts import render_to_response
# Create your views here.
def Login(request):
if request.method == "POST":
username = request.POST.get('username')
return HttpResponse('index')
else:
return render_to_response('login.html')编写Login模板
templates中添加Login.html
login



用户名:

密码:

同时添加了HTML文档之后,要去setting中修改一下路径,要不Django找不到我们的添加的模板

运行一下。

抓取接口的包返回的内容

返回的状态

Django开发一个GET接口

在views中写修改一下代码:

from django.shortcuts import render
from django.http.response import HttpResponse
from django.shortcuts import render_to_response
# Create your views here.
def Login(request):
if request.method == "GET":
username = request.GET.get('username')
return HttpResponse(username)
else:
return render_to_response('login.html')

浏览器中: