当前位置:网站首页>接口自动化测试Postman+Newman+Jenkins
接口自动化测试Postman+Newman+Jenkins
2022-07-25 17:07:00 【wangmcn】
接口自动化测试Postman+Newman+Jenkins
目录
- 1、简介
- 2、安装部署
- 2.1、Postman
- 2.2、Newman
- 2.2.1、安装Node.js
- 2.2.2、安装Newman
- 2.3、Jenkins
- 2.3.1、安装JDK
- 2.3.2、安装Tomcat
- 2.3.3、安装Jenkins
- 3、Postman创建脚本
- 3.1、创建测试集合
- 3.2、创建环境变量
- 3.3、创建测试用例
- 3.4、导出脚本
- 4、Newman执行脚本
- 5、Jenkins持续集成
- 5.1、创建项目
- 5.2、执行项目
- 5.3、解决HTML报告显示不正常
1、简介
Postman可以做接口测试,简单易用很容易上手。但是由于项目的接口越来越多,每次执行都要手动点击,使得执行起来不是很灵活。
Newman是Postman的命令行工具,可执行Postman导出的.json脚本文件。虽然用命令就可以执行脚本,但无法指定某个时间段自动执行,还是要手动敲命令才可以,还是不够灵活。
Jenkins可实现自动化持续集成等操作。
所以本篇讲解采用Postman+Newman+Jenkins来实现接口自动化测试。
2、安装部署
在Windows环境(64位)下进行安装部署。
本篇接口请求链接使用moco生成。
如图所示:需要用到moco包和Json配置文件(已经配置完成)。
启动moco服务:
打开moco所在目录,鼠标双击启动moco服务.bat文件即可。
如图所示:moco服务开启,就可以使用接口请求链接了。
2.1、Postman
Postman是一款功能强大的网页调试与发送网页HTTP请求的工具。
Postman能够发送任何类型的HTTP请求(GET、HEAD、POST、PUT等),附带任何数量的参数和HTTP headers。支持不同的认证机制(basic、digest、OAuth),接收到的响应语法高亮(HTML、JSON或XML)。
Postman既可以以Chrome浏览器插件的形式存在,也可以是独立的应用程序存在。
官方网址:https://www.getpostman.com/
本篇使用的Postman为客户端版本,将下载完成的Postman默认安装即可。
2.2、Newman
Newman是Postman的命令行工具。它允许你毫不费力地直接从命令行运行和测试Postman集合。它构建时考虑到了可扩展性,因此你可以轻松地将其与持续集成服务器和构建系统进行集成。
官方网址:https://www.npmjs.com/package/newman
2.2.1、安装Node.js
要想运行Newman,需要先安装Node.js。
双击执行node-v10.13.0-x64.msi应用程序默认安装即可。
安装完成后,环境变量自动添加到系统里,直接打开命令行,输入node -v,提示以下信息表示Node.js安装成功。
由于新版的Node.js已经集成了npm,同样在命令行输入 npm -v, 来测试是否安装成功。
2.2.2、安装Newman
打开命令行,输入安装命令npm install -g newman
之后输入npm view newman version或者newman -v,可查看安装的版本号。
2.3、Jenkins
Jenkins是一个用Java编写的开源的持续集成工具。在与Oracle发生争执后,项目从Hudson项目复刻。
Jenkins提供了软件开发的持续集成服务。它运行在Servlet容器中(例如Apache Tomcat)。它支持软件配置管理(SCM)工具(包括AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase和RTC),可以执行基于Apache Ant和Apache Maven的项目,以及任意的Shell脚本和Windows批处理命令。Jenkins的主要开发者是川口耕介。Jenkins是在MIT许可证下发布的自由软件。
可以通过各种手段触发构建。例如提交给版本控制系统时被触发,也可以通过类似Cron的机制调度,也可以在其他的构建已经完成时,还可以通过一个特定的URL进行请求。
官方网址:https://jenkins.io/
2.3.1、安装JDK
Jenkins所需环境为Java,所以需要先安装配置JDK。
2.3.1.1、安装
执行下载完成后的jdk-8u171-windows-x64.exe。
JDK安装路径默认安装即可,这里安装到D:\Java\jdk1.8.0_171目录下;
JRE安装路径默认安装即可,这里安装到D:\Java\jre1.8.0_171目录下;
之后直到安装完成。
2.3.1.2、配置环境变量
鼠标选中我的电脑右键,点击属性--->高级系统设置--->高级--->环境变量。
点击环境变量,系统变量里:
(1)点击新建
变量名填写 CLASSPATH
变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(2)点击新建
变量名填写 JAVA_HOME
变量值填写 D:\Java\jdk1.8.0_171(3)修改Path,点击编辑
在变量值最后添加 ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin确定后,打开命令行,输入java -version,提示以下信息表示JDK环境变量配置成功。
2.3.2、安装Tomcat
由于下载的Jenkins格式为.war,所以需要安装配置Web服务器(Tomcat)。
2.3.2.1、安装
将已下载好的apache-tomcat-8.5.32-windows-x64.zip文件进行解压,例如:解压到D盘根目录下。
2.3.2.2、配置环境变量
鼠标选中我的电脑右键,点击属性--->高级系统配置--->高级--->环境变量。
点击环境变量,系统变量里:
(1)点击新建
变量名填写 CATALINA_BASE
变量值填写 D:\apache-tomcat-8.5.32(2)点击新建
变量名填写 CATALINA_HOME
变量值填写 D:\apache-tomcat-8.5.32(3)修改Path,点击编辑
在变量值最后添加 ;%CATALINA_HOME%\lib;%CATALINA_HOME%\bin确定后,打开命令行,输入version,提示以下信息表示Tomcat环境变量配置成功。
2.3.2.3、修改服务端口
在默认情况下,Tomcat的端口是8080,但有时候端口会被占用,所以这时候我们需要修改端口。
打开Tomcat安装目录下的conf文件夹,里面有个server.xml文件,修改此文件里的port值。如图所示:将port值修改为8081,则访问的端口为8081。
2.3.2.4、解决内存溢出
当Jenkins部署在Tomcat里时,使用Jenkins很占资源,可能会使Tomcat出现内存溢出现象。
解决办法:
打开Tomcat安装目录下的bin文件夹,里面有个catalina.bat文件,修改此文件。
修改设置参数:
-Xms:初始堆内存大小;
-Xmx:最大堆内存大小,一般设置-Xms与-Xmx一样大小,根据应用类型和物理内存大小来决定二者的大小;
-Xmn或者-XX:NewSize:堆内存中年轻代的大小;
-XX:PermSize:永久代内存的初始大小;
-XX:MaxPermSize:永久代内存的最大值。例如:根据Jenkins所在的服务器内存为8G为例,在catalina.bat文件第一行增加参数:
set JAVA_OPTS=-Xmx2560m -Xms2560m -Xmn1024m -XX:PermSize=1024m -XX:MaxNewSize=512m -XX:MaxPermSize=1024m如图所示:修改后的catalina.bat文件。
2.3.2.5、创建启动服务文件
打开Tomcat安装目录下的bin文件夹,里面有个startup.bat文件,直接双击运行,Tomcat服务就启动了。
但每次启动Tomcat都需要进入安装目录里执行文件,显得有些麻烦,所以创建启动服务快捷方式可以解决这个麻烦的操作。
在Tomcat安装目录里创建“启动Tomcat.bat”文件。
启动Tomcat.bat文件内容:
start cmd /c "cd %cd%&&cd bin&&startup.bat选中启动Tomcat.bat文件鼠标右键,创建桌面快捷方式。
如图所示:启动Tomcat.bat快捷方式创建完成。
双击桌面此快捷方式,自动打开命令窗口,启动Tomcat服务完成。
访问地址:
http://localhost:8081/ 或者http://10.53.29.69:8081/(IP为10.53.29.69)
2.3.3、安装Jenkins
2.3.3.1、安装
将已下载好的jenkins.war文件拷贝到Tomcat安装目录下的webapps目录里。
双击运行启动Tomcat.bat文件。
访问地址:
http://localhost:8081/jenkins
或者 http://10.53.29.69:8081/jenkins(IP为10.53.29.69)
先进行解锁Jenkins,进行密码输入验证。
访问C:\Users\admin\.jenkins\secrets目录下,打开initialAdminPassword文件,将密码输入到管理员密码输入框中,之后点击继续。
点击选择安装推荐的插件即可。
进行插件安装(由于国内网络问题,有的插件安装可能会失败,建议先FANQIANG,之后再安装插件)。
推荐插件安装完成后,创建管理员信息,之后点击保存并完成。
设置Jenkins URL,如图所示:
http://10.53.29.69:8081/jenkins(IP为10.53.29.69),之后点击保存并完成。
Jenkins安装已完成,点击开始使用Jenkins。
Jenkins启动完成。如图所示:登录后的界面。
2.3.3.2、解决中文乱码
当Jenkins部署在Tomcat里时,执行Jenkins,Jenkins控制台输出中文会显示乱码。
解决办法:
(1)本机系统增加环境变量。
鼠标选中我的电脑右键,点击属性--->高级系统配置--->高级--->环境变量。
点击环境变量,系统变量里:
点击新建
变量名填写 JAVA_TOOL_OPTIONS
变量值填写 -Dfile.encoding=UTF-8(2)打开Tomcat安装目录下的bin文件夹,里面有个catalina.bat文件,修改此文件。
搜索:
set "JAVA_OPTS=%JAVA_OPTS% -Djava.protocol.handler.pkgs=org.apache.catalina.webresources"
添加:
-Dfile.encoding=UTF-8
修改后:
set "JAVA_OPTS=%JAVA_OPTS% -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dfile.encoding=UTF-8"如图所示:修改后的catalina.bat文件。
(3)Jenkins配置环境变量。
系统管理--->系统设置--->全局属性,选中环境变量,添加对应的键值对。
键 JAVA_TOOL_OPTIONS 值 -Dfile.encoding=UTF-8
键 LANG 值 zh.CH.UTF-8如图所示:
2.3.3.3、安装插件
插件(HTML Publisher)发布HTML报告。搜索HTML Publisher,选择后直接安装即可。
3、Postman创建脚本
要测试的接口:
接口1:
http://localhost:8083/getdemo?username=admin&password=123456
GET请求,2个参数username、password
返回数据为admin,123456
接口2:
http://localhost:8083/postdemo
POST请求,2个表单参数username、password
返回数据为admin,123456
3.1、创建测试集合
打开Postman,点击File--->New--->Collection,创建测试集合(Demo)。
如图所示:测试集合Demo创建完成。
3.2、创建环境变量
设置测试URL为公共的变量,点击Manage Environments。
创建环境变量(Test),添加变量名为Url,变量值为http://localhost:8083,点击Add添加。
3.3、创建测试用例
接口1(Get请求)
接口2(Post请求)
3.4、导出脚本
1、导出测试集合。
选择用例集合(Demo),点击Export。
默认选择,点击Export。
如图所示:导出成功,测试集合为.json文件。
2、导出环境变量。
点击Manage Environments。
选择环境变量(Test),点击Download Environment。
如图所示:导出成功,环境变量为.json文件。
4、Newman执行脚本
命令行窗口切换到导出的脚本目录里,输入执行命令:
newman run Demo.postman_collection.json -e Test.postman_environment.json --reporters cli,html --reporter-html-export TestReport.html参数:
run 运行newman的命令;
-e 加载环境变量的数据;
--reporters cli,html 指定生成报告的类型;
TestReport.html 生成的html报告名。如图所示:命令行执行的结果。
脚本执行完,生成的html报告(TestReport.html)。
点击打开TestReport.html报告,显示报告内容。
注意:输入执行脚本命令产生html报告,若提示html报告无法加载。
如图所示:
则需要安装html报告模块,输入命令npm install -g newman-reporter-html安装即可。
5、Jenkins持续集成
5.1、创建项目
点击新建任务。
输入一个任务名称(例如Test_Demo),选择构建一个自由风格的软件项目即可,点击确定。
构建,增加构建步骤(执行Windows批处理命令)。
输入执行命令(报告输出到test-report目录里):
newman run D:\test\Demo.postman_collection.json -e D:\test\Test.postman_environment.json --reporters cli,html --reporter-html-export .\test-report\TestReport.html构建后操作,增加构建后操作步骤(Publish HTML reports)。发布HTML报告。
最后保存即可。
还可以设置源码管理(Git、svn),添加定时构建、轮询SCM,发送邮件等设置。
5.2、执行项目
点击构建按钮,执行项目。
之后左下角出现执行进度状态条。
进入项目,可查看历史构建。
点击控制台输出可查看构建执行时的日志。
可以查看测试报告(HTML)。
如图所示:打开测试报告,显示报告内容。
5.3、解决HTML报告显示不正常
1、问题:
(1)如图所示:项目的测试报告(HTML Report)为.html格式。
(2)打开发现报告显示格式不正确。
2、解决:
(1)系统管理--->脚本命令行。
(2)输入以下参数,点击运行。
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")(3)再次执行脚本,查看新生成的测试报告,如图所示:显示正常。
边栏推荐
- 枚举类和魔术值
- 使用Huggingface在矩池云快速加载预训练模型和数据集
- 【obs】转载:OBS直播严重延迟和卡顿怎么办?
- 中国芯片自给率大幅提升,导致外国芯片库存高企而损失惨重,美国芯片可谓捧起石头砸自己的脚...
- easyui入门
- mindoc制作思维导图
- 博云容器云、DevOps平台斩获可信云“技术最佳实践奖”
- MySQL linked table query, common functions, aggregate functions
- What is the monthly salary of 10000 in China? The answer reveals the cruel truth of income
- Go language series: where does go come from and where will go?
猜你喜欢

Fudan University emba2022 graduation season - graduation does not forget the original intention and glory to embark on the journey again

搜狗批量推送软件-搜狗批量推送工具【2022最新】

谁动了我的内存,揭秘 OOM 崩溃下降 90% 的秘密

Chapter III data types and variables

博云容器云、DevOps平台斩获可信云“技术最佳实践奖”

Bo Yun container cloud and Devops platform won the trusted cloud "technology best practice Award"

Frustrated Internet people desperately knock on the door of Web3

Technical difficulties and applications of large humanoid robots

Add batch delete

【知识图谱】实践篇——基于医疗知识图谱的问答系统实践(Part4):结合问题分类的问题解析与检索语句生成
随机推荐
Box selection screenshot shortcut key of win10
Why 4everland is the best cloud computing platform for Web 3.0
win10自带的框选截图快捷键
[OBS] Reprint: what about the serious delay of OBS live broadcast and Caton?
一百个用户眼中,就有一百个QQ
[xiao5 chat] check the official account < the service provided by the official account has failed, please wait a moment>
[cloud co creation] explore how gaussdb helps ICBC create core financial data
[book club issue 13] +ffmpeg video capture function
HCIP笔记十二天
Rosen's QT journey 100 QML four standard dialog boxes (color, font, file, promotion)
Hcip notes 12 days
企业直播风起:目睹聚焦产品,微赞拥抱生态
C # introductory basic tutorial
How to delete Microsoft Pinyin input method in win10
Unity is better to use the hot scheme Wolong
Test framework unittest skip test
[knowledge atlas] practice -- Practice of question and answer system based on medical knowledge atlas (Part5 end): information retrieval and result assembly
Test framework unittest command line operation and assertion method
[mathematical modeling and drawing series tutorial] II. Drawing and optimization of line chart
easyui入门