Postman+Newman+Jenkins接口自动化

前言

Newman是一个基于nodejs语言的命令行工具,主要用于执行Postman 的collection,基于这个命令行工具,可以定时执行脚本,然后执行结果,判断要测试的接口是否正常,如果出现错误,则可以进行告警。

一、环境搭建

nemman --version

npm outdated -g 查看过期版本

npm install -g newman@4.0.0 安装指定版本

npm install -g newman 安装最新版本

二、测试用例准备

在postman新建collection,增加接口;使用JavaScript添加断言测试。

三、通讯的3种方式,重点使用第三种

1、访问链接:也支持通过 url 作为参数来运行

newman run https://www.getpostman.com/collections/xxxx

2、访问下载文件:支持本地 json 文件作为参数来运行

json 文件可以从 Postman 导出,选定某个 collection,你可以轻易的导出你的 Postman Collection 另外存储为一个 json 文件,然后放到你本地目录进行运行

newman  run "Passing Postman collection.postman_collection.json"

3、通过API和collection通讯

1)点击:Using Newman with the Postman API:https://www.postman.com/integrations/#postman-integrations

2)获取Generate an API keyhttps://documenter.getpostman.com/view/631643/JsLs/?_ga=2.141691378.1765402775.1606981807-2062058568.1606981807

1


获取API keys

3)执行接口,通过API keys获取该账户下collection的信息,获取collection对应的uid:https://api.getpostman.com/collections?apikey=xxx


将所需要的collection 的id记录下来(每个collection的uid不一样):

用uid 取到collection的链接,访问链接:https://api.getpostman.com/collections/$uid?apikey=$apiKey

进入终端,使用api执行collection

newman runhttps://api.getpostman.com/collections/xxxxx?apikey=PMAK-xxxxx

环境变量配置

把环境变量下载在当前目录

          1)导出环境变量,进入路径下执行Newman   

newman run  https://api.getpostman.com/collections/xxx?apikey=PMAK-xxx--environment "XX.postman_environment.json" 

          2)使用api抓取到,获取apikey下的所有环境变量

https://api.getpostman.com/environments?apikey=PMAK-xxxx

三、持续集成

1、Jenkins搭建,并确保Jenkins所在服务器已安装npm、node和newman

2、启动并访问Jenkins

          1)查找jar包路径:mdfind -name jenkins.war

          2)进入路径下,修改端口号执行启动:java -jar jenkins.war --ajp13Port=-1 --httpPort=8081

          3) 启动后访问链接:http://localhost:8081/

3、配置执行脚本


4、生成测试报告

脚本命令拼接报告命令

newman run "https://api.getpostman.com/collections/xxx?apikey=PMAK-xxx" --environment "https://api.getpostman.com/environments/xxx?apikey=PMAK-xxx"  --reporters cli,junit --reporter-junit-export "newman/report.xml"

5、Jenkins配置测试报告路径,识别显示

6、配置HTML报告。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容