接口测试基础

接口测试:关心的只是数据,若是返回的是页面,这种不是接口, 须要http协议和json格式, 能够安装jsonview查看json格式前端

  1. 程序接口:也能够看做是程序模块接口,具体到程序中通常就是提供了输入输出的类,方法或函数,对于程序接口的测试,通常须要使用与开发程序接口相同的编程语言, 经过传入不一样的参数, 来验证程序接口的功能。不能跨语言
  2. 协议接口测试:通常反映系统经过不一样的协议来提供的接口,例如http/soap协议等,这种类型接口对底层代码作了封装,经过协议的方式 对外提供调用,由于不涉及到程序层面,因此,不受编程语言的限制,咱们能够经过其它编程语言或工具对其进行测试。

接口能够是不一样系统之间会须要接口(如天气接口,如不想本身开发这种功能 ,能够用气象服务部门的天气接口来实现),也多是下层服务对上层服务的接口(功能内部的调用,编程语言和database之间, 须要驱动,这个驱动是提供了给编程语言去操做数据库的API,这个api就能够看作是接口。
还能够是服务与服务之间的调用,如抽奖接口,会去调用其它接口,如调用用户接口,python

  1. 开发对应接口: (发布会的接口)
    开发WEB接口通常会用到两个部分:http协议和json

a. 前端和后端通常分分离,这样后端开发能够不用精通前端技术,如HTML/JavaScript/CSS, 只专一于数据的处理, 对外提供API 接口web

b. 前端的专业性愈来愈高,经过API接口获取数据,从而专一于页面的设计
c.先后端分离增长接口的应用范围,开发的接口能够应用到web页面上,也能够应用到移动app上。数据库

  1. HTTP协议:
    a.支持客户、服务器模式:简单快速,
    b.灵活, 正在传输的类型同content-type 加以标记
    c.无链接
    d.无状态

通常开发接口都用api作为一级路径, e.g.: 127.0.0.1:8000/api/....django

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。json

Get请求的话是在?后面加参数.后端

Jmeter:接口测试工具:api

  1. 添加线程组
  2. 能够加断言
    3.能够添加配件里:用户定义变量, 用的时候加${url},当url变的时候,能够只改变量便可,不用改每一条用例
  3. 启动django项目的时候能够用python manage.py runserver 127.0.0.1:8001

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(能够解除警告)

接口的安全机制:
不可能随便让人使用,因此要有安全机制, 通常三种方法:

  1. 用户认证
    POSTMAN里就有authorization:能够选 Basic auth,
  2. 数字签名
    鉴权:须要加时间戳,这样即便被黑客盗取,若是超过60秒服务器就会返回超时,这样能够防止被黑客使用接口。
    防止篡改
  3. 加密AES
相关文章
相关标签/搜索