接口自动化测试-Postman+Newman+Git+Jenkins实战集成(详细)

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

1、Postman

创建Collection,在Collection中创建接口请求,如下图所示。

A1

编写接口对应的断言Test和Pre-request Script,如下图所示。

A2

配置接口对应的环境变量或全局变量。

A3

导出接口集合Collection和导出对应接口的环境变量,导出生成的是JSON文件。

A4

之前有写过postman接口测试文章,可以查阅:https://blog.csdn.net/shuang_waiwai/article/details/122215241

2、Newman

newman是Postman的命令集合运行器,可以通过它直接从命令行运行和测试Postman,以便后续在持续集成服务器构建。

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

淘宝镜像全局安装newman的命令:

npm install -g newman --registry=https://registry.npm.taobao.org

安装成功,如下图所示,显示newman成功安装好的版本号。

A5

验证newman是否安装成功,查看newman版本号命令:newman -version

A6

常用Newman语法:

运行命令 newman run URL连接 或 newman run 集合文件名
-e,- environment <path>:指定Postman环境的URL或路径。
-g,–globals:指定全局变量的文件地址或url
-d,—-iteration-data:指定用于迭代的数据源文件路径
-n,–iteration-count:指定迭代次数
–export-globals:导出全局环境变量
–timeout (ms):设置整个集合运行完成执行的时间
–export-collection:导出集合文件
–timeport-request (ms):指定等待请求返回响应的时间
–timeout-script (ms):指定等待脚本执行完成的时间

我们可通过cmd终端查看newman run运行时可以所带的相关参数。newman run -h查看所有相关参数语法,如下图所示。

A7

Newman实例:

该newman run命令允许您指定要运行的集合。您可以轻松地从Postman App中将Postman Collection导出为json文件,并使用Newman运行它。

newman run examples/sample-collection.json

例:运行Postman导出的接口集合及环境变量,打开cmd,定位至Json文件目录,输入newman运行命令。

newman run Test.postman_collection.json -e mukeOnline.postman_environment.json

run运行接口集合的命令,-e 带入接口集合的环境变量

我们在cmd终端定位至接口集合和环境变量的JSON文件目录,运行命令行结果如下图:

A8

由上面的运行可看出在cmd终端运行的结果不太方便测试人员的查看与测试报告的形成。那么我们如何利用newman命令来生成输出测试报告文件?

指定测试报告的导出格式:
目前支持四种格式:cli,json,html,junit

--reporter-{{reporter-name}}-{{reporter-option}}

支持同时导出多种测试报告格式

JSON --reporter-json-export <path>HTML --reporter-html-export <path>JUNIT/XML --reporter-junit-export <path>

我们还拿上面的集合和环境变量来举例,生成HTML报告时需要安装html套件,命令行中执行:

npm install -g newman-reporter-html --registry=https://registry.npm.taobao.org

安装newman-reporter-html,如下图

A9

运行命令,即可在文件目录下查看生成的HTML文件形式的测试报告。

newman run Test.postman_collection.json -e mukeOnline.postman_environment.json -r html --reporter-html-export report.html

生成的HTML测试报告文件,如下图所示。

A10

我们可以看出用上面HTML生成的报告样式比较简单,怎么让我们的报告显得高大上呢?那么我们就得使用Htmlextra套件。

首先安装使用htmlextra套件生成比较高级的html报告,使用方法和html的相同,需要安装htmlextra,命令行中输入:

npm install -g newman-reporter-htmlextra

安装成功,如下图所示。

A11

我们把上面的接口集合用例再执行一下,看看这个测试报告的效果如何。newman运行命令如下。

newman run Test.postman_collection.json -e mukeOnline.postman_environment.json -r htmlextra --reporter-html-export htmlReport.html

测试报告结果如下图,可看出报告的样式比之前好多了。

A12

3、Git

下载GitExtensions和Git,将Postman导出的json文件上传至github上,拉取下来可进行迭代。这里不过多说明,可自行查找资料。

A13

4、Jenkins

Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。

下载Jenkins地址:https://www.jenkins.io/download/,下载后并安装。

之前写过文章:https://blog.csdn.net/shuang_waiwai/article/details/120707562

5、Jenkins配置Git与Newman

新建Item,选择Freestyle project

A14

任务的Git地址、证书与分支的相关配置

A15

设置构建newman运行命令

newman run Test.postman_collection.json -e mukeOnline.postman_environment.json

A16

设置好后保存,点击Build Now

A17

生成构建结果

A18

构建后生成Junit报告,Git上新建空xml文件,nweman运行命令指向该xml文件。构建前运行命令修改为

newman run Test.postman_collection.json -e mukeOnline.postman_environment.json -r junit --reporter-junit-export newman\xmlReport.xml

A19

运行结果测试报告可在Test Result中可查看。

A20

设置定时任务
Build periodically 每天上午10点构建一次  H 10 * * *,如下图所示。

A21

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

努力奋斗,不断超越,每一次努力都是向成功迈进的脚步;热爱生活,积极向上,用心去感受世界的美妙。相信自己的能力,勇攀高峰,创造属于自己的华丽篇章,绽放人生的绚丽花朵。

在追逐梦想的路上,时间是我们最宝贵的资本,坚持是驱动成就的动力,奋斗是创造辉煌的密码。相信自己,不畏困难,用汗水和智慧塑造出璀璨人生的华章。

梦想是指引前行的明灯,奋斗是实现梦想的行动;勇敢冲破束缚,超越自我限制,释放内心的热情与才能。相信自己的力量,坚持不懈,创造出追求卓越的辉煌人生。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/22400.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux之 centos、Ubuntu 安装常见程序 (-) Mysql 5.7 版本和8.0版本

CentOS 安装 MySql 注意 需要有root权限 安装5.7版本 – 由于MySql并不在CentOS的官方仓库中&#xff0c;所以需要通过rmp命令&#xff1a; 导入MySQL仓库密钥 1、配置MySQL的yum仓库 配置yum仓库 更新密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 安装…

【Linux】Linux下git的使用

文章目录 一、什么是git二、git发展史三、Gitee仓库的创建1.新建仓库2.复制仓库链接3.在命令行克隆仓库3.1仓库里的.gitignore是什么3.2仓库里的git是什么 三、git的基本使用1.将克隆仓库的新增文件添加到暂存区(本地仓库)2.将暂存区的文件添加到.git仓库中3.将.git仓库中的变化…

中介者模式——协调多个对象之间的交互

1、简介 1.1、概述 如果在一个系统中对象之间的联系呈现为网状结构&#xff0c;如下图所示&#xff1a; 对象之间存在大量的多对多联系&#xff0c;将导致系统非常复杂&#xff0c;这些对象既会影响别的对象&#xff0c;也会被别的对象所影响&#xff0c;这些对象称为同事对…

深入了解 PostgreSQL 扩展插件

深入了解 PostgreSQL 扩展插件 在 PostgreSQL 数据库中&#xff0c;扩展插件是极具价值的工具&#xff0c;它们为我们提供了丰富多样的功能增强。本篇博客将深入介绍几个常用的 PostgreSQL 扩展插件&#xff0c;包括 pg_stat_statements、uuid、postgis 以及 postgis_raster。…

【JS代码调试技巧】你必须知道的Javascript技巧汇总

注&#xff1a;最后有面试挑战&#xff0c;看看自己掌握了吗 文章目录 使用控制台检查变量值控制台使用 type of 检查变量的类型捕获拼错的变量名和函数名捕获使用赋值运算符而不是相等运算符捕捉函数调用后缺少的左括号和右括号 &#x1f338;I could be bounded in a nutshel…

使用FreeMarker导出word文档(支持导出图片)

今天跟大家分享一下工作中比较实用的导出word 带图片的功能。 对于在idea开发中我们需要引入以下依赖&#xff1a; 2.对于eclipse 开发我们需要进入对应的jar包 这个必须放在lib下&#xff0c;同样也需要在当前项目的环境是加入该依赖 需要在MEAT-INF加入 首先制定word 导出…

如何隐藏开源流媒体EasyPlayer.js视频H.265播放器的实时录像按钮?

目前我们TSINGSEE青犀视频所有的视频监控平台&#xff0c;集成的都是EasyPlayer.js版播放器&#xff0c;它属于一款高效、精炼、稳定且免费的流媒体播放器&#xff0c;可支持多种流媒体协议播放&#xff0c;包括WebSocket-FLV、HTTP-FLV&#xff0c;HLS&#xff08;m3u8&#x…

Windows安装JDK和JRE的方法

原文网址&#xff1a;Windows安装JDK和JRE的方法_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Windows安装JDK和JRE&#xff08;Java8&#xff09;的方法。 下载 下载入口&#xff1a;https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html jdk-8…

计算机网络(2) --- 网络套接字UDP

计算机网络&#xff08;1&#xff09; --- 网络介绍_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/131967378?spm1001.2014.3001.5501 目录 1.端口号 2.TCP与UDP协议 1.TCP协议介绍 1.TCP协议 2.UDP协议 3.理解 2.网络字节序 发送逻辑…

Ansible之playbook剧本编写

一、playbook的相关知识 1.playbook简介 playbook是 一个不同于使用Ansible命令行执行方式的模式&#xff0c;其功能更强大灵活。简单来说&#xff0c;playbook是一个非常简单的配置管理和多主机部署系统&#xff0c;不同于任何已经存在的模式&#xff0c;可作为一个适合部署复…

Azure pipeline自动化打包发布

pipeline自动化&#xff0c;提交代码后&#xff0c;就自动打包&#xff0c;打包成功后自动发布 第一步 pipeline提交代码后&#xff0c;自动打包。 1 在Repos,分支里选择要触发的分支&#xff0c;这里选择cn_china,对该分支设置分支策略 2 在生产验证中增加新的策略 3 在分支安…

基于STM32103移植FreeRTOS

目录 一、FreeRTOS协议栈下载 二、准备工程文件与协议代码 三、移植FreeRTOS协议栈 一、FreeRTOS协议栈下载 1、官网下载 FreeRTOS - Market leading RTOS (Real Time Operating System) for embedded systems with Internet of Things extensionshttps://www.freertos.or…

“Why Should I Trust You?” Explaining the Predictions of Any Classifier阅读笔记

“Why Should I Trust You?” Explaining the Predictions of Any Classifier阅读笔记 1. 论文贡献2. 背景 [ 1 ] ^{[1]} [1]3. LIME解释单个样本3.1 总体思想3.2 构建可解释的数据表示 [ 1 ] ^{[1]} [1]3.3 可解释性和忠实度的权衡3.4 局部采样3.5 稀疏线性解释3.6 使用SVM进…

无人机航测技术有何特点?主要应用在哪些方面?

无人机航测是航空摄影测量的一种&#xff0c;主要面向低空遥感领域&#xff0c;具有成本低、快速高效、适用范围广等特点。目前&#xff0c;无人机航测主要应用于地形测绘、城市数字化建设、工程建设等方面。 无人机航测技术的特点 1、作业成本低 传统的人工测量技术主要利用…

2023 年牛客多校第六场题解

A Tree 题意&#xff1a;给定 n n n 个点的一棵边带权的树&#xff0c;点有黑白二色&#xff08; 0 , 1 0,1 0,1 表示&#xff09;&#xff0c;现在可以以 a i a_i ai​ 的价值翻转第 i i i 个点的颜色&#xff0c;一对异色点 ( u , v ) (u,v) (u,v) 的价值为树上路径的最…

视频监控汇聚平台EasyCVR视频分享页面WebRTC流地址播放不了是什么原因?

开源EasyDarwin视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;在视频监控播放上&#xff0c;TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放&#xff0c;可同时播放多…

AI绘图实战(十二):让AI设计LOGO/图标/标识 | Stable Diffusion成为设计师生产力工具

S&#xff1a;AI能取代设计师么&#xff1f; I &#xff1a;至少在设计行业&#xff0c;目前AI扮演的主要角色还是超级工具&#xff0c;要顶替&#xff1f;除非甲方对设计效果无所畏惧~~ 预先学习&#xff1a; 安装及其问题解决参考&#xff1a;《Windows安装Stable Diffusion …

百度UEditor编辑器如何关闭抓取远程图片功能

百度UEditor编辑器如何关闭抓取远程图片功能 这个坑娘的功能&#xff0c;开始时居然不知道如何触发&#xff0c;以为有个按钮&#xff0c;点击一下触发&#xff0c;翻阅了文档&#xff0c;没有发现&#xff0c;然后再网络上看到原来是复制粘贴非白名单内的图片到编辑框时触发&a…

华为数通HCIA-华为VRP系统基础

什么是VRP? VRP是华为公司数据通信产品的通用操作系统平台&#xff0c;作为华为公司从低端到核心的全系列路由器、以太网交换机、业务网关等产品的软件核心引擎。 VRP提供以下功能&#xff1a; 实现统一的用户界面和管理界面 实现控制平面功能&#xff0c;并定义转发平面接口…

[数据集][目标检测]遛狗不牵绳数据集VOC格式-1980张

数据集格式&#xff1a;Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件&#xff0c;仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数)&#xff1a;1980 标注数量(xml文件个数)&#xff1a;1980 标注类别数&#xff1a;5 标注类别名称:["dog","p…