一、接口测试分类

分类:

测试外部接口:是被测系统和外部系统之间的接口,(一般正常调用就行)

测试内部接口:是被测系统内部各个模块之间的接口

1.内部接口提供给内部系统使用(一般只要正常调用即可)

2.内部接口提供给外部系统使用(测试必须非常全面)

外部:淘宝、京东、支付宝

接口测试重点测试什么?

接口参数传递的正确性,接口功能的正确性,以及各种异常情况系统的容错能力,接口的权限控制,接口的兼容性

二、接口流程,用例设计方案

1.拿到api接口文档(可以从开发拿,也可以自己抓包),熟悉接口文档业务,接口地址,接口鉴权(鉴权是否有访问的权限)方式,接口入参,出参,是否有完善的错误码机制

2.编写接口测试用例以及评审。

思路:

正例:输入正常的入参,接口能够正常返回(post/get)

反例:鉴权反例:必填,错误的鉴权码,鉴权码过期

参数反例:必填,参数类型异常,参数的长度异常

错误码反例:

其他场景:黑名单,接口调用次数限制,分页场景。

接口的兼容性:一个接口是否能够兼容多个版本的前端

3.使用接口测试工具Postman,jmeter执行接口测试,提供bug,以及bug验证。

4.postman+Newman+Jenkins+Git实现持续集成并且生成报告

三、执行接口测试

请求:请求方式,请求路径,请求头,请求参数

F1020 接口 权重 接口权限测试_get请求

 

 

 Params:get请求传参

Authorization:鉴权

Headers:请求头

  accept:客户端接收的数据类型。

  content-type:客户端发送给服务器的数据类型

  user-agent:客户端的类型

  xmlhttprequest:异步请求

Body:post请求传参

F1020 接口 权重 接口权限测试_get请求_02

 

 

   none:没有参数

   form-data:文件上传(包含键值对和文件上传)

  x-www-from-urlencodeed:表单请求(键值对)

  raw:使用原始数据格式请求(json,xml,html,text,JavaScript)

  binary:二进制文件上传

Pre-request Script:请求之前的脚本。

tests:请求之后的脚本

Settings:设置

Cookies:是postman用于自动管理Cookie的功能

响应

F1020 接口 权重 接口权限测试_F1020 接口 权重_03

 

 

   Body:返回的值

    Pretty:以不同的格式查看返回结果

    Raw:以文本的 格式查看返回结果

    Preview:以网页格式查看返回结果

  Cookies:响应的Cookie

  Headers:响应头

  TestResults:断言的结果

调试:

console控制台

面试题:get请求和postman请求的区别是什么?

1.get请求一般用于获取数据,post一般用于提交数据。

2.传参的方式不一样:

get请求再接口地址里面以?的方式传参,多个参数直接用&分隔。

postman是在body里传参

3.post比get请求安全

4.get请求只发一个数据报文,post请求发送两个数据报文

4、接口关联

1.取值并设置全局变量

//打印用于调试

console。log(responseBody)

//把返回的字符串转换成JSON对象

var baili = JSON.parse(responseBody)

console.log(baili.access_token)

2.在需要的接口里面通过{{}}取得全局变量的值

{{token}}