接口自动化测试Postman+Newman+Jenkins

2022-07-25 16:32:40 浏览数 (1)

接口自动化测试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:Javajdk1.8.0_171目录下;

JRE安装路径默认安装即可,这里安装到D:Javajre1.8.0_171目录下;

之后直到安装完成。

2.3.1.2、配置环境变量

鼠标选中我的电脑右键,点击属性--->高级系统设置--->高级--->环境变量。

点击环境变量,系统变量里:

代码语言:javascript复制
(1)点击新建
变量名填写 CLASSPATH
变量值填写 .;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar
代码语言:javascript复制
(2)点击新建
变量名填写 JAVA_HOME
变量值填写 D:Javajdk1.8.0_171
代码语言:javascript复制
(3)修改Path,点击编辑
在变量值最后添加 ;%JAVA_HOME%bin;%JAVA_HOME%jrebin

确定后,打开命令行,输入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、配置环境变量

鼠标选中我的电脑右键,点击属性--->高级系统配置--->高级--->环境变量。

点击环境变量,系统变量里:

代码语言:javascript复制
(1)点击新建
变量名填写 CATALINA_BASE
变量值填写 D:apache-tomcat-8.5.32
代码语言:javascript复制
(2)点击新建
变量名填写 CATALINA_HOME
变量值填写 D:apache-tomcat-8.5.32
代码语言:javascript复制
(3)修改Path,点击编辑
在变量值最后添加 ;�TALINA_HOME%lib;�TALINA_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文件,修改此文件。

修改设置参数:

代码语言:javascript复制
-Xms:初始堆内存大小;
-Xmx:最大堆内存大小,一般设置-Xms与-Xmx一样大小,根据应用类型和物理内存大小来决定二者的大小;
-Xmn或者-XX:NewSize:堆内存中年轻代的大小;
-XX:PermSize:永久代内存的初始大小;
-XX:MaxPermSize:永久代内存的最大值。

例如:根据Jenkins所在的服务器内存为8G为例,在catalina.bat文件第一行增加参数:

代码语言:javascript复制
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文件内容:

代码语言:javascript复制
start cmd /c "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:Usersadmin.jenkinssecrets目录下,打开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)本机系统增加环境变量。

鼠标选中我的电脑右键,点击属性--->高级系统配置--->高级--->环境变量。

点击环境变量,系统变量里:

代码语言:javascript复制
点击新建
变量名填写 JAVA_TOOL_OPTIONS
变量值填写 -Dfile.encoding=UTF-8

(2)打开Tomcat安装目录下的bin文件夹,里面有个catalina.bat文件,修改此文件。

代码语言:javascript复制
搜索:
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配置环境变量。

系统管理--->系统设置--->全局属性,选中环境变量,添加对应的键值对。

代码语言:javascript复制
键 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执行脚本

命令行窗口切换到导出的脚本目录里,输入执行命令:

代码语言:javascript复制
newman run Demo.postman_collection.json -e Test.postman_environment.json --reporters cli,html --reporter-html-export TestReport.html

参数:

代码语言:javascript复制
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目录里):

代码语言:javascript复制
newman run D:testDemo.postman_collection.json -e D:testTest.postman_environment.json --reporters cli,html --reporter-html-export .test-reportTestReport.html

构建后操作,增加构建后操作步骤(Publish HTML reports)。发布HTML报告。

最后保存即可。

还可以设置源码管理(Git、svn),添加定时构建、轮询SCM,发送邮件等设置。

5.2、执行项目

点击构建按钮,执行项目。

之后左下角出现执行进度状态条。

进入项目,可查看历史构建。

点击控制台输出可查看构建执行时的日志。

可以查看测试报告(HTML)。

如图所示:打开测试报告,显示报告内容。

5.3、解决HTML报告显示不正常

1、问题:

(1)如图所示:项目的测试报告(HTML Report)为.html格式。

(2)打开发现报告显示格式不正确。

2、解决:

(1)系统管理--->脚本命令行。

(2)输入以下参数,点击运行。

代码语言:javascript复制
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

(3)再次执行脚本,查看新生成的测试报告,如图所示:显示正常。

0 人点赞