求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
 
 
PostMan 中文文档
入门
1.介绍
2.安装与更新
3.导航邮递员
4.发送您的第一个请求
5.管理您的帐户
6.同步您的工作
7.探索公共 API 网络
8.创建您的第一个系列
9.使用便笺本
10.创建工作区
11.设置邮递员
12.导入和导出数据
13.使用自定义代理
14.应用程序问题疑难解答
发送请求
15.构建请求
16.授权请求
17.接收响应
18.对集合中的请求进行分组
19.使用变量
20.管理环境
21.可视化响应
22.指定示例
23.使用 cookie
24.使用证书
25.生成客户端代码
26.故障排除请求
27.捕获请求数据概览
28.捕获 HTTP 请求
29.捕获 HTTPS 流量
30.使用邮递员拦截器
31.同步 cookie
32.使用 GraphQL 查询
33.使用 WebSocket 请求
34.发出 SOAP 请求
编写脚本
35.Postman 中的脚本
36.编写预请求脚本
37.编写测试
38.使用监视器运行测试
39.测试脚本示例
40.动态变量
41.邮递员 JavaScript 参考
运行合集
42.使用收集运行器
43.使用监视器调度运行
44.使用 webhook 触发运行
45.构建请求工作流
46.导入数据文件
在Postman中协作
47.与您的团队合作
48.定义角色
49.请求访问
50.分享你的工作
51.您的私有 API 网络
52.评论收藏
53.使用版本控制
54.公共工作区
55.管理公共元素
设计和开发你的API
56.API 开发概述
57.创建 API
58.版本控制 API
59.定义 API 规范
60.生成服务器代码
61.测试 API
62.部署 API
63.观察 API
64.管理和共享 API
65.验证 API
66.使用报告进行分析
发布你的API
67.记录您的 API
68.创作您的文档
69.发布您的文档
70.查看文档
71.使用自定义域
监控你的API
72.监控您的 API
73.监控 API 正常运行时间
74.设置基于集合的监视器
75.查看基于集合的监控结果
76.管理显示器使用情况
77.使用静态 IP 运行监视器
78.监视器故障排除
79.监控常见问题
API安全
80.令牌扫描仪
行政
81.采购邮递员
82.计费
83.配置团队设置
84.利用审计日志
85.入职清单
86.在团队之间迁移数据
87.将您的团队升级到当前版本的 Postman
88.管理企业部署
开发商
89.使用 Postman 实用程序进行开发
90.邮递员 API
91.回声 API
92.采集 SDK
93.Postman 运行时库
94.代码生成器库
95.邮递员收藏转换
集成
96.与邮递员集成
97.自定义 Webhook
98.CI 集成
99.圈子CI
100.特拉维斯 CI
使用 Newman CLI
101.使用 Newman 在命令行上运行集合
102.Newman与 Docker
103.带有 Postman API 的 CI
104.与 Travis CI 集成
105.与Jenkins集成
使用工作区
106.创建工作区
107.使用和管理工作区
108.查看工作区活动
109.解决团队冲突
模拟数据
110.设置模拟服务器
111.用例子模拟
112.使用 Postman API 模拟
113.了解示例匹配
Run Postman
114.使用在 Postman 中运行按钮
115.在 Postman 按钮中创建运行
116.在 Postman 中使用 Run 进行编码
117.API 架构安全警告
118.OpenAPI 3.0 警告
119.OpenAPI 2.0 警告
120.管理你的团队
121.管理用户组
122.配置域捕获
123.SSO 简介
124.为团队配置 SSO
125.登录 SSO 团队
126.微软广告文件系统
 
 
目录
使用 Newman 在命令行上运行集合
来源: Postman    编辑:Alice(火龙果软件)

您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



55 次浏览
1次

Newman 是 Postman 的命令行 Collection Runner。它使您能够直接从命令行运行和测试 Postman 集合。它在构建时考虑了可扩展性,因此您可以轻松地将其与您的持续集成服务器和构建系统集成。

Newman 与 Postman 保持功能对等,并允许您以在 Postman 的集合运行器中执行集合的方式运行集合。

Newman 驻留在 NPM 注册表和GitHub 上。

入门

Newman 基于 Node.js 构建。要运行 Newman,请确保您已安装 Node.js。

您可以在 Linux、Windows 和 macOS 上下载并安装Node.js。

安装 Node.js 后,只需一个命令即可使用 Newman。在您的系统上全局从 npm 安装 Newman,这样您就可以从任何地方运行它。

$ npm install -g newman

运行 Newman 最简单的方法是使用集合运行它。您可以从文件系统运行任何集合文件。

您可以导出集合以作为文件共享。

$ newman run mycollection.json

您还可以通过共享将集合作为 URL 传递。

您的集合可能使用环境变量。要提供一组随附的环境变量,请从 Postman 导出模板并使用标志运行它们。-e

$ newman run https://www.postman.com/collections/cb208e7e64056f5294e5 -e dev_environment.json

选项

Newman 提供了一组丰富的选项来自定义运行。您可以通过使用标志运行它来检索选项列表。-h

$ newman run -h

 

效用

基本设置

请求选项

杂项。

使用该选项设置运行集合的迭代次数。-n

$ newman run mycollection.json -n 10  # runs the collection 10 times

要提供一组不同的数据,例如每次迭代的变量,您可以使用指定 JSON 或 CSV 文件。-d

例如,如下所示的数据文件运行2次迭代,每次迭代使用一组变量。

[{
    "url": "http://127.0.0.1:5000",
    "user_id": "1",
    "id": "1",
    "token_id": "123123",
},
{
    "url": "http://postman-echo.com",
    "user_id": "2",
    "id": "2",
    "token_id": "899899",
}]

 

$ newman run mycollection.json -d data.json

 

以下是上述变量集的 CSV 文件示例:

url, user_id, id, token_id
http://127.0.0.1:5000, 1, 1, 123123123
http://postman-echo.com, 2, 2, 899899

默认情况下,如果一切运行良好(例如没有任何异常),Newman 会以状态码 0 退出。

持续集成工具响应这些退出代码并相应地通过或失败构建。

您可以使用或覆盖当前运行的默认退出代码。-x--suppress-exit-code

您可以使用该标志告诉 Newman 在状态码为 1 的测试用例错误上停止,然后可以由 CI 工具或构建系统拾取。--bail

$ newman run PostmanCollection.json -e environment.json --bail
 

测试失败的示例集合

→ Status Code Test
  GET https://postman-echo.com/status/
404 [404 Not Found, 534B, 1551ms] 1\. response code is 200 ┌─────────────────────────┬──────────┬──────────┐ │ │ executed │ failed │ ├─────────────────────────┼──────────┼──────────┤ │ iterations │ 10 │ ├─────────────────────────┼──────────┼──────────┤ │ requests │ 10 │ ├─────────────────────────┼──────────┼──────────┤ │ test-scripts │ 10 │ ├─────────────────────────┼──────────┼──────────┤ │ prerequest-scripts │ 00 │ ├─────────────────────────┼──────────┼──────────┤ │ assertions │ 11 │ ├─────────────────────────┴──────────┴──────────┤ │ total run duration: 1917ms │ ├───────────────────────────────────────────────┤ │ total data received: 14B (approx) │ ├───────────────────────────────────────────────┤ │ average response time: 1411ms │ └───────────────────────────────────────────────┘ # failure detail 1\. AssertionFai… response code is 200 at assertion:1 in test-script inside "Status Code Test" of "Example Collection with Failing Tests"

 

所有测试和请求的结果都可以导出到文件中。使用 JSON 报告器和文件名将输出保存到文件中。

$ newman run mycollection.json --reporters cli,json --reporter-json-export outputfile.json
 

注意:Newman 允许您使用 Postman 支持的所有库和对象来运行测试和预请求脚本。

在 CI/CD 中使用 Newman

默认情况下,如果一切都按预期运行且无异常,Newman 会以状态码 0 退出。您可以配置您的持续集成工具以响应 Newman 的退出代码并相应地通过或失败构建。如果 Newman 遇到状态代码为 1 的测试用例错误,您还可以使用该标志让 Newman 停止运行,然后您的 CI 工具或构建系统可以获取该错误。--bail

文件上传

纽曼还支持文件上传。要使其正常工作,请将文件上传到集合中指定的相对位置。例如,查看此集合:

{
    "variables": [],
    "info": {
        "name": "file-upload",
        "_postman_id": "9dbfcf22-fdf4-f328-e440-95dbd8e4cfbb",
        "description": "A set of `POST` requests to upload files as form data fields",
        "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json"
    },
    "item": [
        {
            "name": "Form data upload",
            "event": [
                {
                    "listen": "test",
                    "script": {
                        "type": "text/javascript",
                        "exec": [
                            "var response = JSON.parse(responseBody).files[\"sample-file.txt\"];",
                            "",
                            "tests[\"Status code is 200\"] = responseCode.code === 200;",
                            "tests[\"File was uploaded correctly\"] = /^data:application\\/octet-stream;base64/.test(response);",
                            ""
                        ]
                    }
                }
            ],
            "request": {
                "url": "https://postman-echo.com/post",
                "method": "POST",
                "header": [],
                "body": {
                    "mode": "formdata",
                    "formdata": [
                        {
                            "key": "file",
                            "type": "file",
                            "enabled": true,
                            "src": "sample-file.txt"
                        }
                    ]
                },
                "description": "Uploads a file as a form data field to `https://postman-echo.com/post` via a `POST` request."
            },
            "response": []
        }
    ]
}

 

该文件必须作为集合存在于当前工作目录中。像往常一样运行这个集合。sample-file.txt

$ newman run file-upload.postman_collection.json

图书馆

纽曼是从头开始建造的图书馆。它可以以各种方式扩展和使用。您可以在 Node.js 代码中按如下方式使用它:

var newman = require('newman'); // require Newman in your project

// call newman.run to pass `options` object and wait for callback
newman.run({
    collection: require('./sample-collection.json'),
    reporters: 'cli'
}, function (err) {
    if (err) { throw err; }
    console.log('collection run complete!');
});

自定义记者

当人们想要生成满足特定用例的收集运行报告时,自定义报告器会派上用场。例如,当请求(或其测试)失败时注销响应正文,等等。

构建自定义记者

自定义报告器是一个名称为 form 的 Node 模块。要创建自定义报告器:newman-reporter-<name>

导航到您选择的目录,然后使用.npm init

添加一个文件,该文件导出以下形式的函数:index.js

function (emitter, reporterOptions,
collectionRunOptions
) { // emitter is is an event emitter that triggers the
following events:
https://github.com/postmanlabs/newman#newmanrunevents
// reporterOptions is an object of the reporter
specific options. See usage examples below for more details.
// collectionRunOptions is an object of all the collection run options: // https://github.com/postmanlabs/
newman#newmanrunoptions-object--callback-function--run-eventemitter
};

使用 发布您的记者,或在本地使用您的记者。有关详细信息,请参阅使用说明。npm publish

范围内的记者包名称也受支持。@myorg/newman-reporter-<name>

使用自定义记者

为了使用自定义报告器,必须先安装它。例如,要使用 Newman TeamCity 报告器,请安装报告器包:

npm install newman-reporter-teamcity

请注意,包的名称为 形式,其中是报告者的实际名称。如果 Newman 是全局安装的,则安装应该是全局的,否则是本地的。使用全局安装的标志运行。newman-reporter-<name><name>npm install ...-g

要使用本地(未发布)报告器,请改为运行命令。npm install <path/to/local-reporter-directory>

通过 CLI 或以编程方式使用已安装的报告器。此处,在选项中指定报告者名称时不需要前缀。newman-reporter

范围内的报告程序包必须使用范围前缀指定。例如,如果您的包名称是,则必须使用 指定报告者。@myorg/newman-reporter-name@myorg/name

命令行:

newman run /path/to/collection.json -r myreporter
--reporter-myreporter-<option-name> <
option-value> # The option is optional

 

以编程方式:

var newman = require('newman');

newman.run({
   collection: '/path/to/collection.json',
   reporters: 'myreporter',
   reporter: {
     myreporter: {
       'option-name': 'option-value' // this is optional
     }
   }
}, function (err, summary) {
  if (err) { throw err; }
  console.info('collection run complete!');
});

 

在上述两种情况下,报告选项都是可选的。

 

 

55 次浏览
1次