接口测试学习笔记

规范测试行为,预估工作量,管理工作进度,防止漏测

接口的定义:模块与模块之间的对接方式定义,或者是系统与系统之间的对接方式定义。接口是可以部署成服务的协议接口,常见的协议就是http协议。接口测试的本质就是要发送一个HTTP请求报文给服务器,服务器返回一个HTTP响应报文。

接口测试:检验内部接口,外部接口,检查接口参数的正确性,接口功能的正确性,输出结果的正确性及对对各种异常环境的容错处理和权限控制。

用工具或代码模拟客户端向服务器发送请求,校验服务器响应数据是否与预期结果一致。

http特点:支持客户端,服务器模式,简单快速,灵活,无连接,无状态。

默认端口:http:80,https:443,mysql:3306,redis:6379

请求报文组成:请求行,请求头,空行,请求体

响应报文组成:响应行,响应头,空行,响应体

请求行(请求方式,url,协议版本)

响应行(协议版本,状态码,描述短语)

接口测试流程:需求分析>接口文档解析>设计测试用例>执行接口测试>缺陷管理与跟踪>生成测试报告>接口自动化持续集成

 

 

接口断言:常用的5种断言

接口的全局变量与环境变量设置与获取

设置变量

全局变量:pm.globals.set("var_name",value);

环境变量:pm.enviroment.set("var_name",value);

获取变量

全局变量:用于全部环境下生效,变量名具有唯一性

手动获取:{{全局变量名}}   //用于查询参数、请求头、请求体

代码获取:var 变量名 = pm.glibals.get("全局变量名")

环境变量:在特定环境下生效的变量,不同环境下变量名可以重复,单个环境变量名具有唯一性

手动获取:{{环境变量名}}

代码获取:var 变量名 = pm.environment.get("环境变量名")

接口文档或抓包获取,熟悉接口业务,地址,鉴权方式,入参,出参,错误码,其他需求。

接口测试用例和评审

接口测试用例编写规范:编号,接口名称,用例描述,前置条件,请求方法,url,请求头,请求参数类型,请求参数,预期结果,测试结果

编写思路:

业务场景:尽量遵循用户实际使用场景,按顺序调用接口进行测试。

用最少的用例覆盖最多的业务场景,逻辑测试存在依赖关系。

一般只需要测正向业务场景即可。

 生成报告:newman run 测试用例集名.json -e 环境变量文件 -d 数据文件 -r html --reporter-html-export 测试报告名称.html

正例:输入正确的参数,接口正常返回

反例:

鉴权反例:为空,错误,过期

参数反例:必填,参数类型异常,长度异常,错误码覆盖

其他场景:借口黑名单,接口调用次数限制,分页场景测试(负数页,0,1,100,最大,超过)

postman+newman+jenkins+git实现持续集成(输出报告和电子邮件)

jmeter+ant+jenkins+git

token鉴权码:(大部门token鉴权,cookie,session,签名)

csrf_token:一般有效期7-15天

access——token:一般情况下有效期10分钟-2小时

 

  params:get请求传参

Authorization:鉴权

Headers:请求头

Body:post传参

 

form-data:传输key=value,传输文件

x-www-form-urlencoded:只能传输key=vaule

raw:text,javascript,json,html,xml

binary:文件二进制方式传输

pre-request-script:请求之前的脚本

tests:请求之后的断言

setting:设置

接口关联:

打印:console.log(responseBody); 

var jsdata = JSON.oarse(responseBody);

console.log(jsdata.access_token); 

posted @ 2023-03-03 15:59  进击的TiTi  阅读(36)  评论(0编辑  收藏  举报