接口测试基础

Posted tongbaomami

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口测试基础相关的知识,希望对你有一定的参考价值。

接口测试:关心的只是数据,如果返回的是页面,这种不是接口, 需要http协议和json格式, 可以安装jsonview查看json格式

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

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

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

a. 前端和后端一般分分离,这样后端开发可以不用精通前端技术,如html/javascript/CSS, 只专注于数据的处理, 对外提供API 接口

b. 前端的专业性越来越高,通过API接口获取数据,从而专注于页面的设计
c.前后端分离增加接口的应用范围,开发的接口可以应用到web页面上,也可以应用到移动app上。

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

一般开发接口都用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:接口测试工具:

  1. 添加线程组
  2. 可以加断言
    3.可以添加配件里:用户定义变量, 用的时候加${url},当url变的时候,可以只改变量即可,不用改每一条用例

robotframework:接口测试工具: (python 的库python -m pip install robotframework)
C:python36Scriptspyrob.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









































以上是关于接口测试基础的主要内容,如果未能解决你的问题,请参考以下文章

接口测试基础全知道

接口测试基础五-使用python+requests编写接口测试用例

接口测试基础

接口测试基础

接口测试基础--柠檬不萌!

接口测试基础