Postman

设置代理

  1. Setting

  1. Proxy

环境变量

1.新建环境变量集并在该变量集合中设置变量

  1. 使用环境变量

在请求URL 中采用双大括号的方式引用{{variable}}

发送请求的时候注意选择相应的环境,否则会找不到该变量

环境变量和全局变量(Globals)的区别

环境变量可以根据测试需求建立多份环境变量集存储不同测试环境定义的变量,在进行测试的时候选择不同的测试环境

全局变量pm只有一份。不同测试case都可以引用

后置脚本提取数据(Tests)

json提取

方式一:
//打印返回数据,是一个json字符串
console.log(responseBody)
//转换为js对象
var result = JSON.parse(responseBody)

//方式二:
var jsonData = pm.response.json()

正则表达式提取


//需求:返回数据如下,利用正则表达式提取data的值
// {"success":true,"code":10000,"message":"操作成功!","data":"acc160a8-1358-4858-9697-c6ca9b6845af"}


mat_data = responseBody.match(new RegExp('{"success":true,"code":10000,"message":"操作成功!","data":"(.*?)"'))

// 返回的是一个数组,需要取第二个值
console.log(mat_data[1])

console.log(mat_data) 的输出:

接口关联

流程:

  1. 发送登录请求, 获得服务器返回的token
  2. 根据该token 发送PUT修改用户信息

步骤1,发送登录请求:

步骤2,查看token是否设置好


步骤3,发送PUT请求:

内置动态参数

  • {{$timestamp}} : 当前时间的时间戳
  • {{$guid}}:36位的随机字符串
  • {{$randomInt}}: 1-1000的随机数

请求前置自定义动态参数

假如在请求发出前,我们想自定义一些动态参数,然后在请求中使用该参数该如何做?

Pre-request-Scriot 就排上用场了

断言中取全局变量

原来的{{variable}} 方式不可取,需要以下三种方式

//方式一:
pm.globals.get('times')
//方式二:
console.log(globals.times)
//方式三:
console.log(globals['times'])

MockServer

使用场景:后端接口没有开发完成,但是前端的业务需要调用后端的接口

创建mockserver

a)

b)

使用:

创建完MockServer 后

会在Collections 中新建一个同名的collection,以及一个环境变量 url ,

点击发送请求即可获得创建mock是指定的response body

default 下可以修改response body,从而使GET 请求获得修改的返回数据:

请求获得返回数据:

参数化批量运行

数据文件:

选择数据文件:

非代码区引用数据文件变量:

代码区引用数据文件变量:

//代码区引用数据文件的变量,方式一
// pm.test(data.mobile+"手机号是"+data.msg, function () {
//     var jsonData = pm.response.json();
//     pm.expect(jsonData.data.sp).to.eql(data.msg);
// });

//代码区引用数据文件的变量,方式二
pm.test(pm.iterationData.get("mobile")+"手机号是"+pm.iterationData.get("msg"), function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.data.sp).to.eql(pm.iterationData.get("msg"));
});

批量运行生成测试报告

1.按装node.js

2.newman环境搭建:

安装nodejs
校验: node -v

安装newman插件: npm install -g newman
校验: newman -v

安装newman-reporter-html: npm install -g newman-reporter-html
校验: npm list -g | findstr "report"

3.生成报告的命令:
newman run 测试集文件 -e 环境变量文件 -d 测试数据文件 -r html --reporter-html-export report.html

参数说明:
run xxx.json: 执行测试集文件
-e source: 环境变量文件
-d source: 测试数据文件
-r html: 生成测试报告类型
--reporter-html-export source: 存放报告的路径

4.生成报告:

官方文档

https://learning.postman.com/docs/getting-started/introduction/

pm.environment.get()

获得的数据类型都是字符串,有些场景需要使用整型,比如断言:
可以通过如下方法转换为整型

  • Number(pm.environment.get())
  • parseInt(pm.environment.get())

补充断言时大小比较的方法:

//小于7
pm.expect(jsonData.items.length).to.below(7)
//大于5
pm.expect(jsonData.items.length).to.above(5)
posted @ 2022-01-14 14:22  chuangzhou  阅读(67)  评论(0编辑  收藏  举报