前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >接口自动化测试Postman+Newman+Jenkins

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

作者头像
wangmcn
发布2022-07-25 16:32:40
1.5K0
发布2022-07-25 16:32:40
举报
文章被收录于专栏:AllTests软件测试

接口自动化测试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、配置环境变量

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

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

代码语言:javascript
复制
(1)点击新建
变量名填写 CLASSPATH
变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
代码语言:javascript
复制
(2)点击新建
变量名填写 JAVA_HOME
变量值填写 D:\Java\jdk1.8.0_171
代码语言:javascript
复制
(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、配置环境变量

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

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

代码语言:javascript
复制
(1)点击新建
变量名填写 CATALINA_BASE
变量值填写 D:\apache-tomcat-8.5.32
代码语言:javascript
复制
(2)点击新建
变量名填写 CATALINA_HOME
变量值填写 D:\apache-tomcat-8.5.32
代码语言:javascript
复制
(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文件,修改此文件。

修改设置参数:

代码语言: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%&&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)本机系统增加环境变量。

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

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

代码语言: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:\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)输入以下参数,点击运行。

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AllTests软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 2.1、Postman
  • 2.2、Newman
    • 2.2.1、安装Node.js
      • 2.2.2、安装Newman
      • 2.3、Jenkins
        • 2.3.1、安装JDK
          • 2.3.1.1、安装
          • 2.3.1.2、配置环境变量
        • 2.3.2、安装Tomcat
          • 2.3.2.1、安装
          • 2.3.2.2、配置环境变量
          • 2.3.2.3、修改服务端口
          • 2.3.2.4、解决内存溢出
          • 2.3.2.5、创建启动服务文件
        • 2.3.3、安装Jenkins
          • 2.3.3.1、安装
          • 2.3.3.2、解决中文乱码
          • 2.3.3.3、安装插件
      • 3.1、创建测试集合
      • 3.2、创建环境变量
      • 3.3、创建测试用例
      • 3.4、导出脚本
      • 5.1、创建项目
      • 5.2、执行项目
      • 5.3、解决HTML报告显示不正常
      相关产品与服务
      持续集成
      CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档