承包网站建设的公司,做鞋子有什么好网站好,wordpress广告管理,网站seo视频教程PostMan的学习
目录
环境变量和全局变量接口关联内置动态参数以及自定义动态参数实现业务闭环Postman断言批量运行collection数据驱动之CSV文件和JSON文件测试必须带请求头的接口Mock Serviers 服务器Cookie鉴权NewmanPostManNewManjenkins实现接口测试持续集成
参考资料NewManjenkins实现接口测试持续集成
参考资料
Postman接口测试使用教程和接口自动化测试项目实战你要的都有_哔哩哔哩_bilibili
环境变量和全局变量 Environment的设置 环境变量和全局变量 获取环境变量和全局变量的方式 {{变量名}}
接口关联 使用json提取器提取access_token (登录接口后可以自动执行test脚本) // 返回的字符串格式转换成对象的形式
var resultJSON.parse(responseBody);
// 把access_token 设置为全局对象
pm.globals.set(access_token, result.access_token);
// 第二个接口获取
{{access_token}}使用正则表达式提取器实现接口关联 // 返回的字符串格式转换成对象的形式
var resultresponseBody.match(new RegExp(access_token:(.*?)))pm.globals.set(access_token, result[1]);
// 第二个接口获取
{{access_token}}内置动态参数以及自定义动态参数 postman 内置动态参数 {{$timestamp}} 生成当前时间的时间戳 {{$randomInt}} 生成0~1000的随机数 {{$guid}} 生成速记GUID字符串 自定义动态参数 方法请求前编写脚本pre-request-script // 手动获取时间戳
var timeDate.now()// 设置全局变量
pm.globals.set(times, time);使用时使用{{time}}实现业务闭环 增删改查的接口添加完把id设置成全局变量 // 获取创建的id
var tag_idresponseBody.match(new RegExp(id:(*.?).));// 把id设置为全局变量
pm.globals.set(tag_id, tag_id[1]);Postman断言
Status code: Code is 200 检查返回的状态码是否为200
Response bodyContains String 检查响应中包括指定字符串
Response bodyJSON value check 检查响应中其中json的值
Response bodyis equal to a string 检查响应等于一个字符串
Response Header Content type 检查是否包含响应头 Content-Type
Response time is less than 200ms: 检查请求耗时小于200ms
断言判断
状态断言 利用code 200业务断言 判断response body 是否有业务的值
在断言中获取自定义动态参数(全局变量)的方式
pm.globals.get(“time”)
globals[“time”]
globals.times
断言加到全局上
批量运行collection
选一个集合把所有接口运行上传文件要允许postman读取路径拷贝到工作目录
数据驱动之CSV文件和JSON文件
编写csv文件/json文件 多个用例记得接口的参数全改成动态获取宏定义
测试必须带请求头的接口
常见的请求头
Host 请求的主机地址Connection 连接方式Accept 客户端接收到的数据格式X-Requested-With 异步请求Referer 来源Cookie Cookie信息Content-Type 请求内容的格式
Mock Serviers 服务器
mock 模拟
后端接口还没有开发完成前端的业务需要调用后端的接口。
{error_code:0,msg:返回成功,data:[]
}https://4cc5686e-fea4-4315-b775-2d3dec990017.mock.pstmn.io
Cookie鉴权
什么是cookie
cookie是一小段文本格式 keyvalue
cookie的鉴权原理
当客户端第一次访问服务器的时候那么服务器就会生成cookie信息并且在响应头的set-cookie里面把生成的cookie信息发送给客户端当客户端第 2 -N次访问服务器的时候那么客户端就会在请求头带上cookie信息从而实现鉴权
cookie的分类
会话cookie保存在内存当浏览器关闭之后就会自动化清楚cookie持久cookie保存在硬盘浏览器关闭后不会清楚只有当失效时间到了之后会自动清楚
postman自动触发cookie保存
Newman
postman 是专为接口测试而生。newman新男人是专为postman而生的。
newman 可以让我们postman的脚本通过非GUI方式运行
运行命令newman run
常用参数
-e 引用环境变量
-g 引用全局变量
-d 引用数据文件
-n 指定测试用例迭代的次数
-r cli,html,json,junit —reporter-html-export 指定生成HTML的报告
安装newman
postman导出测试用例postman导出全局jsonpostman导出环境json准备数据json
执行命令
newman run testcase.json -e environment.json -g globals.json -d data.json -r cli,html,json,junit —reporter-html-export export.htmlPostManNewManjenkins实现接口测试持续集成
新增一个项目设置自定义工作空间构建执行windows批处理命令执行系统的Grovy脚本保证样式不丢失生成的HTML集成到Jenkins