postman使用(三)

2021-09-14 14:44:40 浏览数 (1)

断言

简介

Postman 提供一个测试沙箱(Postman Sandbox) 测试沙箱是一个 JavaScript 执行环境,可以通过 JS 脚本来编 写 pre-request Script 和 test Script。

  • pre-request Script(预置脚本)可以用来修改一些默认参数,在请求发送之前执行。有点类似于 unittest 里面的 setUp()方法。
  • test Script(测试脚本)当接收到响应之后,再执行测试脚本。

案例

接口请求 URL 如下:请求方式为 POST

代码语言:javascript复制
postman-echo.com/post
断言规则
  • 响应状态码:200
  • 响应内容:返回的user参数值与定义的一致
  • 响应时间:小于0.5s
测试脚本

在 pre-request Script 定义变量 user

代码语言:javascript复制
pm.variables.set("user",'zxw');

在Test栏下编写如下脚本

代码语言:javascript复制
//判断响应状态码
pm.test("Status code is 200", function () {
 pm.response.to.have.status(200);
});
//获取发送的参数值
username=pm.variables.get("user");
console.log(username);
//校验响应内容是否和请求的一致
pm.test("Check username", function () {
 var jsonData = pm.response.json();
 pm.expect(jsonData.json['user']).to.eql(username);
});
//检测响应时间是否小于 0.5s
pm.test("Response time is less than 500ms", function () {
 pm.expect(pm.response.responseTime).to.be.below(500);
});

断言结果

image-20210526234135437

运行collection

批量运行

当我们想批量测试某个集合里面的各个 API 时,可以使用 Collection Runner 来批量运行 API,同时可以进行环境 变量、迭代执行次数、延迟时间等设置。

数据驱动

应用背景

有时我们针对一个接口需要测试很多不同的参数,如果每次一个个的去修改参数值来进行测试这样效率肯定会比较 低下。因此我们需要每次迭代执行传入不同的参数进行测试,那么需要导入外部数据文件进行参数化,也就是所谓 的数据驱动。

数据导入

如下图所示,data 选择之前我们创建的 json 数据文件:data.json,文件类型选择 application/json json 数据内容 如下:

代码语言:javascript复制
[{
 "username": "jack", 
 "passwd": "6666"
},{
 "username": "Bob",
 "passwd": "5555"
},{
"username": "Marry",
 "passwd": "8888"
}]

请求之前延迟时间最好设置为 1000~3000,避免过于频繁请求被禁。

设置环境变量时记得选择save

image-20210527000631424

批跑结果

image-20210527000836354

构建工作流

设置请求顺序

调整执行顺序为:Request1->Request3->Request2->Request4

首先在第一个请求:Request1 中 Test 添加如下代码:表示下一个请求为执行请求名称为 Request3 的请求

代码语言:javascript复制
postman.setNextRequest('Request 3') 

然后在 Request3 的请求中 Test 添加如下代码:表示下一个请求为执行请求名称为 Request2 的请求

代码语言:javascript复制
postman.setNextRequest('Request 2')

最后在 Request2 的请求中 Test 添加如下代码:表示下一个请求为执行请求名称为 Request4 的请求

代码语言:javascript复制
postman.setNextRequest('Request 4')

image-20210527001252721

NEWman应用

Newman 是一款基于 Node.js 开发的可以运行 Postman 的工具,使用 Newman,可以直接从命令行运行和测试 Postman 集合。

代码语言:javascript复制
newman run Postman_API.postman_collection.json -d data.json -r html

命令说明

  • run 代表要执行的 postman 脚本,即为导出的集合。
  • -d 表示要执行的数据,也就是之前导入 postman 的数据
  • -r 生成的测试报告类型,这里生成 html 格式报告

集成jenkins

Jenkins 简介

Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开 放易用的软件平台,使软件的持续集成变成可能。

集成步骤

集成到 jenkins 的思路其实很简单,就把之前我们执行测试的 cmd 命令放到 jenkins 里面去执行。集成步骤也很简单:

  • 首先新建一个项目: postman_api_test
  • 然后在构建栏目下拉菜单选择 Execute Windows batch command
代码语言:javascript复制
  c:
cd C:UsersShuqingDesktoppmtest
newman run Postman_API.postman_collection.json -d data.json -r html

image-20210527001934863

最后执行结果如下:

image-20210527002010902

号外功能

  • Postman 支持导出不同语言版本的脚本
  • Postman 可以抓取移动端数据

0 人点赞