标签:soap协议 add 测试基础 格式 views == 命名 支持 请求方法
接口测试:关心的只是数据,如果返回的是页面,这种不是接口, 需要http协议和json格式, 可以安装jsonview查看json格式
接口可以是不同系统之间会需要接口(如天气接口,如不想自己开发这种功能 ,可以用气象服务部门的天气接口来实现),也可能是下层服务对上层服务的接口(功能内部的调用,编程语言和database之间, 需要驱动,这个驱动是提供了给编程语言去操作数据库的API,这个api就可以看做是接口。
还可以是服务与服务之间的调用,如抽奖接口,会去调用其它接口,如调用用户接口,
a. 前端和后端一般分分离,这样后端开发可以不用精通前端技术,如HTML/JavaScript/CSS, 只专注于数据的处理, 对外提供API 接口
b. 前端的专业性越来越高,通过API接口获取数据,从而专注于页面的设计
c.前后端分离增加接口的应用范围,开发的接口可以应用到web页面上,也可以应用到移动app上。
一般开发接口都用api做为一级路径, e.g.: 127.0.0.1:8000/api/....
a. 创建添加发布会接口:add_event/:
可以加在urls.py里:
path(‘api/add_event/‘, views.add_event)
也可以在应用里添加二级路径: 在sign应用下创建一个python文件,命名为urls.py
那么在guest里的urls.py里就应该加上:
path(‘api‘, include(‘sign.urls‘))
在sign下面的urls.py里添加:
from diango.urls import path
from sign import views
urlpatterns = [
path(‘add_event/‘, views_api.add_event, name = ‘add_event‘)]
然后再创建一个views, 如views_api.py,创建一个add_event 函数,但返回要用jsonResponse(就是字典格式)
def add_event(request):
if request.methon ==‘POST‘:
eid = request.POST.get(‘sid‘, ‘‘)
name =request.POST.get(‘name‘, ‘‘)
.....把发布会的参数都加上
if eid==‘‘ or name ==‘‘ or ....:
return JsonResponse({"status":10021, "message":"参数为空"}) #这里的status可以随便命名,如1111, 2222
else:
return JsonResponse({"status":10031, "messag":"请求方法错误"})
如果是post请求,那么需要用接口测试工具: postman,可以模拟http调用
postman里请求方法选post,header可以不要,body很重要,需要把参数都传过来,然后点send。
Get请求的话是在?后面加参数.
Jmeter:接口测试工具:
robotframework:接口测试工具: (python 的库python -m pip install robotframework)
C:\python36\Scripts\pyrob.bat 运行
后缀:.robot
脚本分两部分:settings and test case (可以参照官网)
settings:相当于导包
如: Library SeleniumLibrary
Test case:
test_hello
log hello robot framework #(log相当于python里的print)
python -m robot hello.robot(可以解除警告)
接口的安全机制:
不可能随便让人使用,所以要有安全机制, 一般三种方法:
标签:soap协议 add 测试基础 格式 views == 命名 支持 请求方法
原文地址:https://www.cnblogs.com/tongbaomami/p/9200745.html