作者:TrueBW

接口测试

API:Application Programming Interface,即应用程序编程接口。接口就是一个位于复杂系统之上并且能简化你的任务,它就像一个中间人让你不需要了解详细的所有细节。那我们今天要讲的Web API就是这么一类东西。像谷歌搜索系统,它提供了搜索接口,简化了你的搜索任务。再像用户登录页面,我们只需要调用我们的登录接口,我们就可以达到登录系统的目的。

一个API中通常包含的结构有:

结构

释义

Method

请求方法

URL

唯一资源定位符

Params

请求参数

Authorization

认证方式

Headers

请求消息头

Body

消息体

本文记录的是Postman(API 接口测试工具)学习,以及一些接口测试概念。帮助大家建立接口测试的整体概念,以及学会Postman工具的使用。

axios帮助类 api帮助_api帮助文档

接口测试的作用:

axios帮助类 api帮助_怎样在接口地址中添加请求头参数_02

接口测试的内容:

axios帮助类 api帮助_axios帮助类_03

接口测试工具Postman的特点:

  1. 使用简单,上手快,很适合调试;
  2. 但保存请求,批量运行时,执行速度慢,建议使用Jmeter工具。

Postman

Postman直接官网下载:https://www.postman.com/downloads/,双击自动安装,打开注册后即可运行。

axios帮助类 api帮助_api帮助文档_04

Postman的界面如下:

axios帮助类 api帮助_axios帮助类_05

Get请求

直接看一个Get请求类型的API接口测试实例,以下是接口开发文档对接口参数的具体描述:

axios帮助类 api帮助_jmeter api文档_06

Postman新建请求后直接发送以下接口测试请求:

axios帮助类 api帮助_怎样在接口地址中添加请求头参数_07

【注意】对于GET请求,可以直接点击Params,输入多个参数名称及value(键对值),即可自动添加在URL链接上,如下图所示:

axios帮助类 api帮助_api帮助文档_08

关于接口开发文档,测试过程中可以找开发人员要,格式参考:API接口文档。

【注意】进行API接口安全测试时,一般不需要安全人员自己构造数据包, 客户会提供一个测试demo程序(HTML网页形式的),demo中已包含所有功能已经构造好的数据包,只需在页面上直接改请求参数内容然后点发送即可。因为客户自己的测试人员平时做业务功能测试时,也都是有现成的测试 demo的,不可能在Postman中一个一个手动构造请求去测试。

Post请求

同样直接看一个Post请求类型的API接口测试实例,以下是接口开发文档对接口参数的具体描述:

axios帮助类 api帮助_axios帮助类_09

Postman新建请求后直接发送以下接口测试请求:

axios帮助类 api帮助_axios帮助类_10

【注意】上述请求头是根据请求参数的形式自动生成的。请求头中的Content-Type与请求参数的格式之间是有关联关系,比如:

axios帮助类 api帮助_api接口加密_11

添加请求头

对于某些API接口,可能需要添加特定的请求头信息进行身份认证才能进行访问,比如 Sign、Token、Cookie、Authorization 等。在Postman中可直接通过 Headers 添加(以下实例的sign值为“用户名+密码”的32位MD5值):

axios帮助类 api帮助_axios帮助类_12

或者使用专门的 Authorization 模块进行添加:

axios帮助类 api帮助_axios帮助类_13

图示的几种身份认证方式简述如下:

认证方式

简述

No Auth

即不需要认证,这是默认选中的

Bearer Toker

填写Token进行验证

Basic Auth

输入用户名和密码,直接明文发送数据

Digest Auth

摘要认证,在基本身份认证上面扩展了安全性

OAuth 2.0

一个开放授权协议,详情参见理解OAuth 2.0

这里补充下摘要认证方式:消息摘要式身份认证在基本身份认证上面扩展了安全性,服务器为每一个连接生成一个唯一的随机数,客户端用这个随机数对密码进行MD5加密,然后返回服务器,服务器也用这个随机数对密码进行加密,然后和客户端传送过来的加密数据进行比较,如果一致就返回结果。

_____ end ___