Get和post请求的区别:
Get一般是获取数据,post一般是提交数据
- 本质区别是传参的方式不一样:
- Get请求在地址栏后面以?的方式传参,多个参数之间有&分隔。
- Post是在body以表单的方式传参。
问题:
多种环境:开发环境,测试环境,生产环境。
接口关联:需要手动关联
参数需要手动更改
Postman的环境变量以及全局变量
环境变量:环境变量就是全局变量
全局变量:全局变量就是能在任何接口里面访问的变量
获取环境变量和全局变量的值通过:{{变量名}}
接口关联
- 使用Json提取器实现接口关联
- 第一个接口:
- 使用json提取器提取accesss_token值
- 吧返回的字符串格式的数据转换成对象的格式
- Var result = json.parse(responseBody);
- //吧access_token设置为全局变量
- Pm.globals.set(“access_token”,result.access_token)
- 第二个接口:
- {{access_token}}
- postman内置动态参数以及自定义的动态参数
- Postman内置动态参数: 示例: {{$}}
- {{$timestamp}} 生成当前时间的时间戳。
- {{$randomlnt}} 生成0-1000之间的随机树
- {{guid}} 生成速记GUID字符串
3.
//手动获取时间戳
Var time = date.now();
//设置为全局变量
Pm.globals.set(“times”,”times”);
- 获得创建的标签ID
(new 里面放的是正则表达式,然后放入左边界:右边界,用(.+?)来代替链接)
Var tag_id= 用来显示结果的
ResponseBody.match(new RegExp(“”:””:(.+?)))
Console.log(tag_di) -----打印
Postman断言
Status code:Code is 200 检查返回的状态码是否为200
Response body:Contains String 检查响应中包括指定字符串
Response body:json value check 检查响应中其中json的值
Response body:is equal to a string 检查响应等于一个字符串
Response body:Content-Type...。检查是否包含响应头Content-Type
Response time is less than 200ms : 检查请求耗时200ms
十一、postman批量运行测试用例
十二、Postman数据驱动之CSV文件和json文件的处理
十三、必须带请求头的接口
常见的请求头:
Host 请求的主机地址
Connection 链接方式
Accept 客户端接受的数据格式
X-Requested-With 异步请求
User-Agent 客户端的用户类型
Referer 请求的来源
Cookie Cookie信息
Content-Type:求情内容的格式
- postman接口mock Servier服务器
Mock模拟
后端的接口还没有开发完成,前端的业务需要调用后端的接口。
Mock意思就是,他可以模拟后端的信息,前段需要调用什么信息,他都可以进行设置
示例: {“error_code”.0.msg:”返回成功”,data[]}
- Postman的cookie鉴权
什么是cookie
Cookie是一小段文本,格式是key-value 形式
Cookie鉴权原理:
- 当客户端第一次访问服务器的时候,那么服务器就会生产Cookie信息,并且在响应头的set-Cookie里面吧生成的Cookie信息发送给客户端。
- 当客户端第2-N次访问服务器的时候,那么客户端就会在请求头的cookie带上cookie信息,从而实现鉴权
Cookie的分类
会话Cookie:保存在内存,当浏览器关闭之后会自动清除Cookie。
持久Cookie:保存在硬盘,浏览器关闭后不会清除,只有当失效时间到了才会自动清除。
Postman是专为接口而生, newman(新男人)是专门为postman而生,newman可以让我们的postman脚本通过非GUI(命令行)的方式。
运行命令:newman run
-e 引用环境变量
-g 引用全局变量
-d 引用数据文件
-n 指定测试用例的迭代次数
-r
- postman+newman+jenkins实现接口测试持续集成
- 新建一个项目
- 设置自定义工作空间
- 执行windows的批处理命令
- 执行系统的Groovy脚本
- 生成的HTML的报告集成到jenkins
- 接口测试灵魂拷问
- 什么是接口
接口以及接口测试的本质
软件的接口:微信提现和充值,银联支付接口,支付宝支付(鉴权码):token,key,appkey
接口包括:内部接口和外部接口
内部接口:开发人员对自己开发的对自身系统提供的接口。
外部接口:开发系统调用外部的,微信,支付宝,其他的
总结:接口就是软件提供给外部的一种服务,用于做数据传输。
- 软件为什么需要接口
因为接口能够让内部的数据被外部进行修改
- 我们为什么要做接口测试
- 现在很多系统都是基于前后端分离,开发的进度不一样,需要软件一开始开发出来的就接口进行测试。
- Mock(模拟接口的意思)
- 基于安全考虑,前端有验证很容易绕过,直接请求接口,特别:身份证信息,银行卡,金钱交易,
- 测试推崇的是测试左移,测试尽早的介入
接口测试的本质:就是测试接口能否正常的交互数据,权限控制以及异常场景,