postman使用(三)

2021年09月15日 阅读数:3
这篇文章主要向大家介绍postman使用(三),主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

断言

简介

Postman 提供一个测试沙箱(Postman Sandbox) 测试沙箱是一个 JavaScript 执行环境,能够经过 JS 脚原本编 写 pre-request Script 和 test Script。html

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

案例

接口请求 URL 以下:请求方式为 POSTweb

postman-echo.com/post

断言规则

  • 响应状态码:200
  • 响应内容:返回的user参数值与定义的一致
  • 响应时间:小于0.5s

测试脚本

在 pre-request Script 定义变量 user面试

pm.variables.set("user",'zxw');

在Test栏下编写以下脚本json

//判断响应状态码
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,同时能够进行环境 变量、迭代执行次数、延迟时间等设置。api

数据驱动

应用背景

有时咱们针对一个接口须要测试不少不一样的参数,若是每次一个个的去修改参数值来进行测试这样效率确定会比较 低下。所以咱们须要每次迭代执行传入不一样的参数进行测试,那么须要导入外部数据文件进行参数化,也就是所谓 的数据驱动。浏览器

数据导入

以下图所示,data 选择以前咱们建立的 json 数据文件:data.json,文件类型选择 application/json json 数据内容 以下:微信

[{
 "username""jack"
 "passwd""6666"
},{
 "username""Bob",
 "passwd""5555"
},{
"username""Marry",
 "passwd""8888"
}]

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

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

image-20210527000631424

批跑结果框架

image-20210527000836354

构建工做流

设置请求顺序

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

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

postman.setNextRequest('Request 3'

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

postman.setNextRequest('Request 2')

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

postman.setNextRequest('Request 4')
image-20210527001252721

NEWman应用

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

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

  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 能够抓取移动端数据

「Have Fun ~ Tester !」

本文分享自微信公众号 - FunTester(NuclearTester)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。