Postman执行接口测试
**请求页签 **
Params:get请求传参
authorization:鉴权
headers:请求头
Body:post请求传参
form-data:既可以传键值对参数也可以传文件。
x-www-from-urlencoded:只能够传键值对参数
raw:json,text,xml,html,javascript
binary:把文件以二进制的方式传参。
pre-request-script:请求之前的脚本。
tests:请求之后的断言。
cookies:用于管理cookie信息。
响应页签
Body:接口返回的数据。
Pretty:以Json,html,XML....不同的格式查看返回的数据。Raw:以文本的方式查看返回的数据。
PreView:以网页的方式查看返回的数据。
Cookies:响应的Cookie信息
Headers:响应头
Test Results”断言的结果。
200状态码
OK状态信息
681MS 响应的时间
343B 响应的字节数。
Get请求和Post请求的区别
1.get请求一般是获取数据,post请求一般的提交数据。
2.post请求和get请求安全。
3.本质区别是传参的方式不一样:
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}}
使用正则表达式提取器实现接口关联
第一个接口:
//使用正则表达式提取器实现接口关联,match匹配。
var result = responseBody.match(new RegExp('"access_token":"(.*?)"'));
console.log(result[1]);
//设置为全局变量
pm.globals.set("access_token",result[1]);
第二个接口:
{{access_token}}
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 headers:Content-Type...检查是否包含响应头Content-Type
Response time is less than 200ms:检查请求耗时小于200ms
自定义动态参数(全局变量)断言的方式
pm.globals.get("times")
globals["times"]
globals.times
全局断言
Postman数据驱动
CSV文件
JSON文件
测试必须带请求头的接口
常见的请求头
Host 请求的主机地址
Connection 连接方式
Accept 客户端接收到的数据格式
X-Requested-With 异步请求
User-Agent
客户端的用户类型
Referer
来源
Cookie
Cookie信息
Content-Type: 请求内容的格式
Postman接口Mock Server服务器
mock 模拟
后端的接口还没有开发完成,前端的业务需要调用后端的接口。
{"error_code":0,msg:"返回成功",data:[]}
https://8d1aca50-434a-4d61-9b6f-165cf44fa6e5.mock.pstmn.io
Postman的Cookie鉴权,Token的鉴权
什么是cookie
cookie是一小段文本,格式key=value
cookie鉴权的原理
1.当客户端第一次访问服务器的时候,那么服务器就会生成Cookie信息,并且在响应头的
set-cookie里面把生成的cookie信息发送给客户端。
2.当客户端第2-N次访问服务器的时候,那么客户端就会在请求头的cookie带上cookie信
息,从而实现鉴权。
cookie的分类
会话cookie:保存在内存,当浏览器关闭之后就会自动化清除cookie。
持久cookie:保存在硬盘,浏览器关闭后不会清除,只有当失效时间到了才会自动清除。
**Newman **
postman是专为接口测试而生。newman(新男人)是专为postman而生。newman可以
让我们的postman的脚本通过非GUI(命令行)的方式。
运行命令:newman run
常用参数:
-e 引用环境变量
-g 引用全局变量
-d 引用数据文件-n 指定测试用例迭代的次数
-r cli,html,json,junit --reporter-html-export 指定生成HTML的报告。
执行命令如下:
newman run testcase.json -e environment.json -g globals.json -d data.
json -r cli,html,json,junit --reporter-html-export report.html
**Postman+Newman+Jenkins实现接口测试持续集成 **
1.新建一个项目
2.设置自定义工作空间。
3.执行windows的批处理命令
4.执行系统的Groovy脚本
5.生成的HTML的报告集成到Jenkins
版权归原作者 Ten peaches 所有, 如有侵权,请联系我们删除。