程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

【接口测试实战(十一)】接口自动化之持续集成(postman+newman+jenkins)

发布于2021-06-07 21:25     阅读(962)     评论(0)     点赞(16)     收藏(4)


部分前情:

《【接口测试实战(零)】接口测试简介》

《【接口测试实战(一)】搭建接口测试环境》

《【接口测试实战(二)】根据接口文档使用postman测试》

《【接口测试实战(五)】接口测试之断言实战》

《【接口测试实战(七)】postman之变量与沙盒实战》

《【接口测试实战(八)】postman之Collections和数据驱动测试实战》

《【接口测试实战(九)】接口测试之cookie实战》

《【接口测试实战(十)】接口测试之token鉴权实战》



1)持续集成

持续集成(Continuous integration)指的是,频繁地(一天多次)将代码集成到主干。

2)newman

Newman 是 Postman 推出的一个 nodejs 库,直接来说就是 Postman 的 json文件可以在命令行执行的插件

  • 官方文档:https://www.npmjs.com/package/newman
  • Postman使用newman插件完成命令行执行postman脚本,因此如果需要用命令行运行脚本,需要首先安装Newman。

2.1 安装

1、安装nodejs

官网下载地址:http://nodejs.cn/download/,下载之后直接运行安装。

  • 安装之后确认环境变量中已经添加了node所在目录,否则手动添加。
  • 在cmd中通过node -v 和 npm -v命令确认node环境已经搭建成功。

2、安装newman

完成nodejs安装之后,在命令行中输入npm install newman -g自动完成
newman的安装。

  • 验证newman安装成功,使用命令: newman --version

2.2 用Newman执行测试

安装好newman之后,可以通过命令行执行postman测试集中的脚本。

  • 官方文档: https://www.npmjs.com/package/newman
  • Postman命令行运行文档:https://learning.getpostman.com/docs/postman/collection_runs/command_line_integration_with_newman/

以之前的七日天气接口的数据驱动测试为例,详情可见《【接口测试实战(八)】postman之Collections和数据驱动测试实战》

1、导出collections、变量

在collection选项菜单中选择export,导出为json文件:
在这里插入图片描述

在环境变量中通过导出功能将环境变量导出:
在这里插入图片描述

全局变量类似环境变量使用,在使用前,先导出全局变量文件。

2、newman执行collection导出的json文件

通过命令:

在这里插入图片描述

  • Newman常用参数:

    • -e,–environment 使用环境变量文件或url
    • -g,–global 使用全局变量文件或url
    • -d,–iteration-data 指定使用的数据驱动文件
    • -n 指定测试集循环次数iterations

3、Newman测试报告

Newman提供的测试报告中,常用的包括cli、json和html三种格式,
可以通过-r或者–reporter命令指定所用格式。

  • cli格式为在cmd客户端呈现的报告模板,newman默认使用该格式。
  • json格式可以导出json格式的报告,通过-r json进行设置,并加上–reporter-json-export参数指定报告生成的路径。
  • html格式可以导出html格式的报告,通过-r html进行设置,并加上–reporter-html-export参数指定报告生成的路径。
    • 在使用之前需要通过npm install -g newman-reporter-html先完成安装。
C:\Users\Facek>newman run C:\Users\Facek\Desktop\fornewman\天气api数据驱动.postman_collection.json -e C:\Users\Facek\Desktop\fornewman\七日天气接口.postman_environment.json -d C:\Users\Facek\Desktop\七日天气接口.csv -r json --reporter-json-export C:\Users\Facek\Desktop\fornewman\result.json  //导出为json格式

C:\Users\Facek>newman run C:\Users\Facek\Desktop\fornewman\天气api数据驱动.postman_collection.json -e C:\Users\Facek\Desktop\fornewman\七日天气接口.postman_environment.json -d C:\Users\Facek\Desktop\七日天气接口.csv -r html --reporter-html-export C:\Users\Facek\Desktop\fornewman\result.html  //导出为html

4、定时任务执行脚本

在实现了newman对测试集的命令行运行之后,可以通过编写bat脚本,将其设置为windows定时任务,以完成测试脚本的定时运行。

  • 编写bat脚本

    将newman运行测试集的命令编写为bat脚本保存

  • 设置定时任务

    在计算机上右键->管理,在弹出菜单里的任务计划程序里创建定时任务配置执行。

3)Jenkins持续集成

在已经实现newman通过命令行方式执行postman测试集的基础上,可以方便地在Jenkins上完成持续集成构建。

构建任务完成Jenkins定时执行Newman运行测试集

1、创建自由风格项目:
在这里插入图片描述

2、在构建触发器里,配置定时构建选项,指定任务定时执行:

在这里插入图片描述

  • 五个参数分别代表【分、时、天、月、星期】的周期维度。

3、在构建时,添加构建步骤选择执行windows批处理命令,将newman命令写入即可:
在这里插入图片描述

  • *遇到的问题之’newman’ 不是内部或外部命令/ ‘node’ 不是内部或外部命令

    • 先确认环境变量是否配置正确
    • 如果配置正确了还是报错,则可能是在Jenkins中执行时,默认使用的是windows中的jenkins用户权限,该用户没有newman/node的命令权限,导致提示找不到命令。
    • 解决方法:找到jenkins的系统配置–>环境变量,添加到环境变量中:
      在这里插入图片描述
  • *遇到问题之输出中文乱码:

    在这里插入图片描述

    • 解决方法:在环境变量中,添加一个变量JAVA_TOOL_OPTIONS值为-Dfile.encoding=UTF-8,重启Jenkins。

【部分内容参考自】

  • Jenkins_构建任务提示找不到命令的处理方法:https://www.cnblogs.com/testlearn/p/14745092.html
  • Postman接口测试实战:Testing学院


所属网站分类: 技术文章 > 博客

作者:狗子你变了

链接:http://www.phpheidong.com/blog/article/89570/59a55f0fcafc48db3c8e/

来源:php黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

16 0
收藏该文
已收藏

评论内容:(最多支持255个字符)