Postman+newman+jenkins+git实战
一、接口分类,流程,用例设计
接口分类:
外部接口:被测系统与外部其他系统之间的接口。
承保系统(被测系统),核算系统。
内部接口:被测系统内部各个子模块之间的接口。
承保系统(A模块,B模块)
测试接口重点:检查接口参数的正确性,接口功能的正确性,输出结果的正确性,以及对各种异常场景的容错处理和权限控制。
接口测试流程:
1.拿到api接口文档(从开发拿或抓包获取),熟悉接口业务,接口地址,鉴权方式,入参,出参,错误码,其他的特别的需求。
2.编写接口测试用例以及评审
编写思路:
正例:输入正确的入参,接口正常返回。
反例:
鉴权反例:为空,错误,过期,.....
参数反例:必填,参数类型异常,参数长度异常,错误码覆盖。
其他场景:接口黑名单,接口调用次数限制,分页场景测试(负数页,0,1,5,10,100)。
3.使用接口测试工具Postman,Jmeter执行接口测试。
4.Postman+newman+jenkins+git实现持续集成。(输出报告和电子邮件)
二、Postman接口测试工具
Postman+newman+jenkins+git
Jmeter+Ant+Jenkins+Git
Postman下载和安装:https://www.postman.com/downloads/
Postman注册和登录。
token鉴权码:(大部分,cookie,session,签名)
csrf_token:一般情况下有效期是7-15天。
access_token:一般情况下有效期是10分钟-2小时
三、Postman工具详解
请求页签:
params:get请求传参。
Authrization:鉴权
Headers:请求头
Body:Post请求传参
form-data:可以传输key=value还可以传输文件。
x-www-form-urlencoded:只能传输key=value
raw:Text,javascript,JSON,html,XML
binary:把文件当成二进制的方式传输。
Pre-request-script:请求之前的脚本。
Tests;请求之后的断言。
Setting:设置
Cookies:Postman管理Cookie信息。
响应页签:
Body:返回的信息
Pretty(各种格式查看返回数据)
Raw(文本格式)
Preview(网页)
Cookie:响应Cookie
Headers:响应头
Test Results:测试结果
200 响应码
OK 响应信息
237MS 响应时间
343B 响应内容大小
四,接口关联
第一种方式:JSON提取器
1 //打印
2 console.log(responseBody);
3 //JSON提取器:把返回的结果转化成JSON对象
4 var jsdata = JSON.parse(responseBody);
5 //取值,并且设置为去全局变量
6 pm.globals.set("access_token",jsdata.access_token);
第二种方式:正则表达式提取器
1 //打印
2 console.log(responseBody);
3 //正则表达式提取器,match匹配,new RegExp新建正则表达式
4 var data = responseBody.match(new RegExp('"access_token":"(.*?)"'));
5 //取值并设置为全局变量
6 pm.globals.set("access_token",data[1]);
鉴权方式:签名sign
五全局变量和环境变量
全局变量可以在所有的接口请求里面使用。通过{{}}取值。
作用:可以使用全局变量保存在所有接口都需要使用的变量
环境变量可以在当前环境的所有接口请求使用,通过{{}}取值。
作用:可以保存多种环境。可以让接口在多种环境中测试。
开发环境,测试环境,生成环境,预发布环境。
问题:
1.创建和编辑标签接口参数必须唯一,(动态参数)
2.删除接口,ID不能重复,这个ID必须存在