• 14
  • 14
分享

一、是什么Newman

Newman就是纽曼手机这个经典牌子,哈哈,开玩笑啦。。。别当真,简单地说Newman就是命令行版的Postman,查看官网地址。

Newman可以使用Postman导出的collection文件直接在命令行运行,把Postman界面化运行的操作用命令行代替,如果不会Postman接口自动化测试,可以参考如何用Postman做接口自动化测试

因为是命令行操作,因此可以配合jenkins做接口自动化测试。

二、如何安装

npm install -g newman

mac也可以用brew安装

brew install newman

三、如何使用

1.运行本地文件

newman run examples/sample-collection.json

运行画风是这样的

1.png

2.运行在线文件

collection文件也可以是一个在线地址

newman run https://www.getpostman.com/collections/631643-f695cab7-6878-eb55-7943-ad88e1ccfd65-JsLv

运行的画风如下

2.png

3.以node.js库运行

const 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!');
});

4.导出报告

可以使用-r或者--reporters指定输出的类型,支持的类型有cli, json, html, junit, progress和emojitrain

默认指定cli,如果想指定多个,可以用以下的方式

newman run examples/sample-collection.json -r cli,json,html

将输出结果到命令行,并导出一份json和html报告,如下

3.png

html打开是这样的

4.png

json是这样的

5.png

四、命令行测试真实接口

接下来,对我们的32个接口进行测试

1.导出collection文件

我本地导出的colection文件名为课货.postman_collection.json

6.png

2.导出环境变量文件

因为依赖我的接口依赖环境变量{{kehuo}},还需要导出环境变量,我本地生成文件名为

local.postman_environment

7.png

8.png

3.执行测试

newman run -e ./local.postman_environment.json -r cli,html ./课货.postman_collection.json

说明:-e指定了环境变量文件,-r指定输出格式,这里我指定了命令行直接输出,和生成html,最后跟的就是我们collection文件啦

执行结果如下

9.png

html文件打开如下

10.png

五、Newman+Jenkins实现自动化测试

1.jenkins机器安装newman

npm install -g newman

2.将postman文件上传到git仓库

如下,我添加了一个autotesting文件夹,分别放了接口文件postman_collection.json和环境变量文件

postman_environment.json

11.png

3.jenkins新建项目

12.png

这一步选择吴亦凡的freestyle,你看这个面又长又宽,就像这个碗又大又圆~

13.png

4.jenkins项目指定git地址和分支

14.png

5.jenkins项目newman脚本

15.png

6.执行构建

16.png

7.查看结果

17.png

可以看到,我们的脚本已经启动了,再往后看,有3个接口测试失败了,还给出了原因

18.png

就是这么简单,惊不惊喜,意不意外,yeah buddy ! light weight baby !


作者:无涯

原文链接:https://www.cnblogs.com/chenqionghe/p/12417263.html


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • Dify 的朋友们,很高兴告诉大家,我们刚刚发布了 V0.3.9 版本,在这个版本中有两个重要的新特性和大家同步:Dify 已接入 Antropic 的 Claude2、Claude-instant 模型。这意味着:你可以输入 100K token 超长上下文,相当于几百页的文档甚至是一本书!已支持在网页嵌入你的 AI 应用。这意味着,你能够在几分钟内就可以为你的官方网站创建一个具备你业务数据的 AI 智能客服。让我们一起来看看吧!接入 Antropic,解锁与 AI 超长对话限制Antropic 在数天前发布了新的 Claude 2 模型。它支持用户输出 100K token 的上下文,相当...
            0 0 1625
            分享
          • 在文章的开头,我们先来看一下,我们为什么要谈这个话题?在互联网飞速发展的今天,敏捷开发、微服务,这些名字,想必大家都不陌生了。其带来的好处和挑战,大家是否都能理解的透彻了?我从2009年接触了敏捷开发和测试,敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。这张图大家不陌生,而它的精华就体现在这个一直可使用上,每个圆的最终准出点都是一个“workin...
            1 1 1920
            分享
          • 跟一位朋友聊侃职业发展,她以前也是IT圈的妹子,后来华丽转行。她知道我做过很长时间的测试,而且做的还不错。大概她是看到了我日常行事风格里也表现出了很强的测试思维—找问题,解决问题,追求完美,但似乎又不相信有什么事情是完美的。她跟我说:“测试我也做过一段时间的,现在觉得,就算有一天我拖着棍子去要饭,我也不会再回头去做测试!”因为她忍受不了这种以找bug为目标的工作。 我被她这句话伤害到了,尽管她一再表示,她绝对没有贬低测试这个行当的意思。   其实我当下的主要工作已经不是做测试了,但是项目偶尔缺人的时候,还是会被拉去帮忙。就在...
            2 5 2959
            分享
          •   一、引言  在信息科技日新月异的今天,大数据已经成为了我们分析问题、做出决策的重要工具。而模型和算法,则是大数据的核心技术。它们可以帮助我们理解和处理复杂的数据,提取出有价值的信息。本文将带你探索模型和算法的奥秘,以及它们在大数据中的应用。以智慧养老领域为例,让你深入理解这一技术的应用。  二、模型与算法:大数据的分析利器  模型是对现实世界某一特定方面的简化描述,可以帮助我们理解和预测系统的行为。数据模型是数据特征的抽象,是数据库管理的教学形式框架。它包括数据结构的结构部分、数据操作和数据约束。  数据结构:主要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,不同...
            0 0 423
            分享
          • 思路流程信息收集服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等)网站指纹识别(包括,cms,cdn,证书等),dns记录whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等)子域名收集,旁站,C段等google hacking针对化搜索,pdf文件,中间件版本,弱口令扫描等扫描网站目录结构,爆后台,网站banner,测试文件,备份等敏感文件泄漏等传输协议,通用漏洞,exp,github源码等漏洞挖掘浏览网站,看看网站规模,功能,特点等端口,弱口令,目录等扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。XSS,SQL...
            7 8 17957
            分享
      • 51testing软件测试圈微信