当前位置: 首页 > news >正文

【Newman+Jenkins】实施接口自动化测试

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

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

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

二、如何安装

npm install -g newman

mac也可以用brew安装

brew install newman

三、如何使用

1.运行本地文件

newman run examples/sample-collection.json

运行画风是这样的

2.运行在线文件

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

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

 运行的画风如下

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报告,如下

html打开是这样的

 json是这样的

四、命令行测试真实接口

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

1.导出collection文件

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

2.导出环境变量文件

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

3.执行测试

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

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

执行结果如下

 html文件打开如下

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

1.jenkins机器安装newman

npm install -g newman

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

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

3.jenkins新建项目

 

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

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

5.jenkins项目newman脚本

6.执行构建

 7.查看结果

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

  下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

 

http://www.lryc.cn/news/174684.html

相关文章:

  • kr 第三阶段(六)C++ 逆向
  • 医药行业安全生产信息化建设分享
  • C 语言简单入门
  • Levels - UE5中的建模相关
  • 数据中心与数据仓库的区别
  • [2023.09.18]: Rust中类型转换在错误处理中的应用解析
  • 前端工作日常
  • C++:C++哪些时候用到const
  • OpenCV之九宫格图像
  • OpenGLES:绘制一个颜色渐变的圆
  • javascript数据类型错误造成的前端分页不准的问题
  • [Qt]QListView 重绘实例之二:列表项覆盖的问题处理
  • Java 函数式编程思考 —— 授人以渔
  • 操作系统权限提升(二十八)之数据库提权-SQL Server 数据库安装
  • 腾讯mini项目-【指标监控服务重构-会议记录】2023-08-18
  • 如何通过axios拦截器,给除了登录请求以外,axios的所有异步请求添加JWT令牌!
  • Spring学习笔记9 SpringIOC注解式开发
  • 【新日标习题集】第13課 までのまとめ (discarded)
  • Java基础常考知识点(基础、集合、异常、JVM)
  • 虚拟机桥接模式下没有无线网卡选项
  • 设计模式笔记
  • c==ubuntu+vscode debug redis7源码
  • java字符串储存底层原理
  • c++获取当前时间的字符串
  • 【精品】通用Mapper 批量更新bug解决方案
  • 腾讯mini项目-【指标监控服务重构-会议记录】2023-07-06
  • 【React】函数式组件和类式组件的用法和逻辑
  • 题目 1061: 二级C语言-计负均正
  • 数位和(C++)
  • [牛客复盘] 牛客周赛round13 20230924