前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >postman使用(三)

postman使用(三)

作者头像
FunTester
发布2021-09-14 14:44:40
6600
发布2021-09-14 14:44:40
举报
文章被收录于专栏:FunTester

断言

简介

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:\Users\Shuqing\Desktop\pmtest\
newman run Postman_API.postman_collection.json -d data.json -r html

image-20210527001934863

最后执行结果如下:

image-20210527002010902

号外功能

  • Postman 支持导出不同语言版本的脚本
  • Postman 可以抓取移动端数据
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FunTester 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 断言
    • 简介
      • 案例
        • 断言规则
        • 测试脚本
        • 断言结果
    • 运行collection
      • 批量运行
      • 数据驱动
        • 应用背景
          • 数据导入
          • 构建工作流
            • 设置请求顺序
            • NEWman应用
            • 集成jenkins
              • Jenkins 简介
                • 集成步骤
                • 号外功能
                相关产品与服务
                持续集成
                CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档