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

news2024/12/27 0:34:32

目录:导读

    • 前言
    • 一、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.coloradmin.cn/o/820727.html

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

相关文章

100个精选Python实战项目案例,在线无偿分享

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 随着 Python 语言的流行&#xff0c;越来越多的人加入到了 Python 的大家庭中。 为什么这么多人学 Python &#xff1f; 我要喊出那句话了&#xff1a;“人生苦短&#xff0c;我用 Python&#xff01;”&#xff0c; 正是…

PyTorch(安装及卸载)

目录 1. 安装 2. 卸载 参考文献 为什么用PyTorch&#xff1a;简单来说&#xff0c;19年之前tensorflow是大哥&#xff0c;19年tensorflow和PyTorch双龙并行&#xff0c;20年之后PyTorch一往无前。宗旨&#xff0c;哪个用的人多用哪个。 1. 安装 1. 先打开Anaconda Prompt&…

专为工业环境设计的高性能网络设备(4G工业路由器)

4G工业路由器顾名思义它是一种专为工业环境设计的高性能网络设备。它采用了4G通信技术&#xff0c;可以实现高速稳定灵活拓展的无线网络连接&#xff0c;满足工业领域对数据传输的需求。这种路由器具有坚固耐用的外壳&#xff0c;能够抵抗恶劣的工作环境&#xff0c;如高低温、…

谨防数据泄露!“即刻PDF阅读器”内置后门收集用户隐私

近期&#xff0c;火绒安全团队发现 “即刻PDF阅读器” 内置后门程序&#xff0c;该后门程序会在用户不知情的情况下&#xff0c;从C&C服务器上下载恶意配置文件&#xff0c;再根据配置文件下载恶意模块到用户电脑中。目前发现该病毒会肆意收集用户个人隐私信息&#xff0c;…

决策树的划分依据之:信息增益率

在上面的介绍中&#xff0c;我们有意忽略了"编号"这一列.若把"编号"也作为一个候选划分属性&#xff0c;则根据信息增益公式可计算出它的信息增益为 0.9182&#xff0c;远大于其他候选划分属性。 计算每个属性的信息熵过程中,我们发现,该属性的值为0, 也就…

学习记录——CFNet

CFNet: Cascade Fusion Network for Dense Prediction 一种新颖的多尺度融合方法 CVPR 2023   现有的SOTA方法通常先通过主干网络提取多尺度特征&#xff0c;然后通过轻量级模块&#xff08;如 FPN&#xff09;融合这些特征。然而&#xff0c;我们认为通过这样的范例来融合多…

常见的用户行为路径分析方法

用户行为路径分析&#xff0c;一方面可视化用户流向&#xff0c;对海量用户的行为习惯形成宏观了解&#xff1b;另一方面是定位影响转化的主要因素&#xff0c;使产品的优化与改进有的放矢。如果没有用户行为路径分析&#xff0c;会让我们不能获得用户的及时反馈信息&#xff0…

使用HBuilder-X创建uniapp项目并启动演示

前言 课前准备&#xff1a;需要安装有HBuilder-X软件以及谷歌、火狐等浏览器。 官方网址&#xff1a;https://www.dcloud.io/ 一、创建项目 依次点击文件->新建->项目&#xff1a; 接着&#xff1a; 点击uni-app填写项目名称选择项目路径选择项目模版&#xff0c;我…

Java里的static import使用小结

Java里的static import使用小结 换了工作要把Java重新捡起来了&#xff0c;这个在大学里用过的语言&#xff0c;虽然不复杂&#xff0c;还是有一些奇怪的地方的。比如static Slgluimport。 Static import是JDK 1.5中引进的特性&#xff0c;不过读大学那会还真没注意到。它的作…

记一次使用gophish开展的钓鱼演练

这周接到客户要求&#xff0c;组织一次钓鱼演练&#xff0c;要求是发送钓鱼邮件钓取用户账号及个人信息。用户提交后&#xff0c;跳转至警告界面&#xff0c;以此来提高客户单位针对钓鱼邮件的防范意识。 与客户沟通后得知他们企业内部是由邮箱网关的&#xff0c;那么就意味着…

类的实例化

类的实例化 class Date { public:void Init(int year, int month, int day){_year year;_month month;_day day;}private:int _year;int _month;int _day; //这只是函数的一个声明并没有定义 };上面是一个类&#xff0c;我们可以把有花括号括起来的叫做一个域&#xff…

python scrapy框架实现某品牌数据采集

某品牌数据采集 采集需求 地址&#xff1a;http://www.winshangdata.com/brandList 需求&#xff1a;用scrapy框架采集本站数据&#xff0c;至少抓取5个分类&#xff0c;数据量要求5000以上 采集字段&#xff1a;标题、创建时间、开店方式、合作期限、面积要求 网页分析 …

HawkEye设备智能维保平台:助力制药行业设备管理实现数字化转型

随着科技的不断进步和市场竞争的日益激烈&#xff0c;制药行业的设备管理的数字化转型已经成为一个不可逆转的趋势。尤其是在疫情时代&#xff0c;制药企业肩负着重大的社会责任&#xff0c;致使其设备管理的数字化转型之路迫在眉睫。 设备管理的数字化不仅可以提高企业的生产效…

Java实战之网上书店管理系统的实现

目录 1.效果展示2.需求功能3.系统总体设计及部分代码 3.1登录模块设计3.2新用户的注册3.3图书添加模块3.4图书添加事件3.5买家信息维护3.6订单管理模块4.数据库设计 4.1系统数据库设计4.2系统E-R图设计5.JDBC连接数据库 1.效果展示 2.需求功能 用户可以进行注册登陆系统&…

文心大模型企业应用私享会·上海站:共话大模型前沿技术与产业应用创新

当前&#xff0c;人工智能已经成为新一轮科技革命和产业变革的重要驱动力量&#xff0c;基于强算法、大算力和大数据的大模型成为人工智能发展的主流方向。 7月28日下午&#xff0c;“文心大模型企业应用私享会-上海站”于百度飞桨&#xff08;张江&#xff09;人工智能产业赋能…

如何压缩图片大小?最新图片压缩技巧分享

现在很多平台对于上传的图片大小都有限制&#xff0c;比如不能超过20k&#xff0c;当图片大小超出该值时就需要进行压缩&#xff0c;下面就针对这个问题给大家分享几个简单实用的图片压缩方法&#xff0c;需要的朋友一起来Get吧~ 一、画图工具 画图是Windows系统自带的工具&am…

BugKu CTF(杂项篇MISC)—善用工具

BugKu CTF(杂项篇MISC)—善用工具 描 述: webp。 下载压缩包。解压得到以后3个文件。 一、工具 十六进制编辑工具 010 editor Free_File_Camouflage图片隐写工具 二、解题思路 1.先看看hint.png&#xff0c;发现打不开&#xff0c;用010 editor编辑器打开是乱码。属性也没…

ipad手写笔有必要买苹果原装吗?平价电容笔推荐

目前&#xff0c;市场上的电容笔品牌越来越多&#xff0c;我们在挑选的时候&#xff0c;很容易就会被坑&#xff0c;比如说&#xff0c;我们买到的那些书写时经常会写字断触&#xff0c;或是防误触功能失效。因此我们在购买时一定要擦亮眼睛。至于那些把ipad当成学习工具的人&a…

展销系统springboot vue展会新闻场地管理java源代码mysql

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 展销系统springboot vue 系统有3权限&#xff1a;管理…

【Java练习题汇总】《第一行代码JAVA》综合测试三,汇总Java练习题

Java练习题 综合测试三 1️⃣ 综合测试三 1️⃣ 综合测试三 线程的启动方法是( )。 A. run() B. start() C. begin() D. accept() Thread 类提供表示线程优先级的静态常量&#xff0c;代表普通优先级的静态常量是( )。 A. MAX_PRIORITY B. MIN_PRIORITY C. NORMAL_PRIORITY D…