Jenkins+Newman+Postman生成接口自动化测试报告

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作。

文章目录

  • 1. Jenkins的安装与配置
    • 1.1 安装jenkins
    • 1.2 jenkins中文设置
  • 2. Postman+Newman生成接口测试报告
  • 3. 结合Jenkins生成自动化测试报告
    • 3.1 jenkins构建任务
    • 3.2 jenkins展示html测试报告
  • 4. Jenkins构建触发器
    • 4.1 触发远程构建
    • 4.2 其他项目工程构建后触发
    • 4.3 定时构建
    • 4.4 GitHub hook trigger for GITScm polling
    • 4.5 轮询构建

1. Jenkins的安装与配置

:此安装步骤基于Win10 ,x64环境。

前提:本地需安装好JDK。JDK安装配置教程,可参考:https://blog.csdn.net/moxiaofei1208/article/details/80988626

1.1 安装jenkins

  1. 下载Jenkins,地址:https://www.jenkins.io/download/
    Jenkins+Newman+Postman生成接口自动化测试报告_第1张图片

  2. 双击下载后的jenkins.msi文件,弹出安全警告弹窗,点击“运行”即可;
    Jenkins+Newman+Postman生成接口自动化测试报告_第2张图片

  3. 安装欢迎界面,点击Next;
    Jenkins+Newman+Postman生成接口自动化测试报告_第3张图片

  4. 安装路径设置,可自定义安装路径,再点击Next;
    Jenkins+Newman+Postman生成接口自动化测试报告_第4张图片

  5. 服务登录凭据设置,有两种方式:
    ①我这里选择"Run service as LocalSystem(not recommended)“,然后点击“Next”即可;
    ②如果选择"Run service as local or domain user”,可参考:https://blog.csdn.net/qq_27696623/article/details/121636342
    Jenkins+Newman+Postman生成接口自动化测试报告_第5张图片

  6. 端口号设置,因为端口号默认为8080,考虑到该端口号可能会被其他服务占用,故建议修改此端口号。比如我这里改为了8181,再点击“Test Port”,如果有个绿色的√出现(表示端口号可行),再点击Next;
    Jenkins+Newman+Postman生成接口自动化测试报告_第6张图片

  7. 选择本地jdk安装路径,此页面一般自动带出本地jdk安装路径。若带出不正确可自行修改,打开cmd窗口,执行命令java -verbose,返回结果的最后两行即为本地jdk安装路径。
    Jenkins+Newman+Postman生成接口自动化测试报告_第7张图片

  8. 自定义设置,点击Next;
    Jenkins+Newman+Postman生成接口自动化测试报告_第8张图片

  9. 点击Install;
    Jenkins+Newman+Postman生成接口自动化测试报告_第9张图片

  10. 等待安装;
    Jenkins+Newman+Postman生成接口自动化测试报告_第10张图片

  11. 安装完成后,点击Finish;
    Jenkins+Newman+Postman生成接口自动化测试报告_第11张图片

  12. 打开浏览器,在地上栏输入:localhost:端口号(端口号为步骤6中设置的Port),访问到的界面如下图所示;
    Jenkins+Newman+Postman生成接口自动化测试报告_第12张图片

  13. 安装后首次登录需要找到系统动态设置的初始密码,根据浏览器中的提示路径,找到对应路径下的initialAdminPassword文件,并用文件编辑软件打开,复制里面的密码;
    Jenkins+Newman+Postman生成接口自动化测试报告_第13张图片
    Jenkins+Newman+Postman生成接口自动化测试报告_第14张图片

  14. 将复制的密码粘贴到管理员密码输入框中,并点击继续;
    Jenkins+Newman+Postman生成接口自动化测试报告_第15张图片

  15. 选择“安装推荐的插件”,由于插件下载源是国外的,安装插件过程会比较慢,如果有安装失败的插件,可修改为国内的下载源后再重新安装,可参考:https://www.cnblogs.com/starsray/p/12753366.html;
    Jenkins+Newman+Postman生成接口自动化测试报告_第16张图片

  16. 插件安装完成后,需要创建管理员用户,如下图;
    Jenkins+Newman+Postman生成接口自动化测试报告_第17张图片

  17. 实例配置,点击“保存并完成”即可;
    Jenkins+Newman+Postman生成接口自动化测试报告_第18张图片

  18. 配置完成,点击“开始使用Jenkins”;
    Jenkins+Newman+Postman生成接口自动化测试报告_第19张图片

  19. 若成功进入到Jenkins首页页面,Jenkins安装配置到此完成!
    Jenkins+Newman+Postman生成接口自动化测试报告_第20张图片

1.2 jenkins中文设置

jenkins设置简体中文
①依次点击【Manage Jenkins】→【Manage Plugins】,进入到插件管理页面;
Jenkins+Newman+Postman生成接口自动化测试报告_第21张图片
②切换到【可选插件】tab,并搜索插件名Locale plugin ,若搜索后存在则点击安装,若搜索后不存在,则切换到【已安装】tab,看看该插件是否已经安装了;
Jenkins+Newman+Postman生成接口自动化测试报告_第22张图片
③安装中文(简体中文)汉化语言包插件Localization: Chinese (Simplified)
Jenkins+Newman+Postman生成接口自动化测试报告_第23张图片
④依次点击【Manage Jenkins】→【Configure System】,进入到系统配置页面;
Jenkins+Newman+Postman生成接口自动化测试报告_第24张图片
⑤找到【Default Language】(注:必须先安装Locale plugin插件,否则无法找到该选项),设定简体中文,输入zh_CN

简体中文:“zh_CN”,繁体中文:"zh_TW",英文:"en_US"
Jenkins+Newman+Postman生成接口自动化测试报告_第25张图片

⑥重启jenkins,地址栏输入:http://域名/restart,提示中点击“是”,即可完成重启;
Jenkins+Newman+Postman生成接口自动化测试报告_第26张图片

注:以上步骤针对于最新版本Jenkins 2.341可能不适用,按照步骤操作后,部分按钮字段仍然显示英文,目前笔者还没找到其他方法可以解决。

2. Postman+Newman生成接口测试报告

详见笔者的另一篇博客:Postman做接口测试并生成接口测试报告

3. 结合Jenkins生成自动化测试报告

3.1 jenkins构建任务

  1. 打开jenkins首页工作台,点击“新建Item;
    Jenkins+Newman+Postman生成接口自动化测试报告_第27张图片
  2. 填写任务名称,选择项目风格,并点击确定;
    Jenkins+Newman+Postman生成接口自动化测试报告_第28张图片
  3. 填写项目描述,项目描述为非必填项,可直接进入下一个步骤;
    Jenkins+Newman+Postman生成接口自动化测试报告_第29张图片
  4. 切换到【构建环境】,选择“Execute Windows batch command”;
    Jenkins+Newman+Postman生成接口自动化测试报告_第30张图片
  5. 输入执行newman生成接口测试报告的命令,可查看Postman做接口测试并生成接口测试报告。需注意,不能单独只输入newman,前面需加上newman在本地的绝对路径,不然会报找不到newman的错误。
    Jenkins+Newman+Postman生成接口自动化测试报告_第31张图片
  6. 返回首页工作台,选择项目,进入项目构建页面;
    Jenkins+Newman+Postman生成接口自动化测试报告_第32张图片
  7. 点击“Build Now”,进行构建,在构建历史中会显示构建时间及构建状态;
    Jenkins+Newman+Postman生成接口自动化测试报告_第33张图片
  8. 选择一项构建任务,点击“控制台输出”,可查看构建日志,若为绿色的√,即代表构建成功;
    Jenkins+Newman+Postman生成接口自动化测试报告_第34张图片
    Jenkins+Newman+Postman生成接口自动化测试报告_第35张图片
  9. 上面构建成功后的测试报告也只能在本地查看,那么,如何将在jenkins上查看测试报告呢?请往下看

3.2 jenkins展示html测试报告

在jenkins上展示html报告,需要添加一个HTML Publisher plugin插件,把生成的html报告放到指定文件夹,这样就能用jenkins去读出指定文件夹的报告了。

  1. 下载HTML Publisher plugin插件:打开插件管理→切换到【可选插件】→搜索插件HTML Publisher→安装;
    Jenkins+Newman+Postman生成接口自动化测试报告_第36张图片
    Jenkins+Newman+Postman生成接口自动化测试报告_第37张图片
  2. 插件安装页面,勾选“安装完成后重启jenkins”;
    Jenkins+Newman+Postman生成接口自动化测试报告_第38张图片
    Jenkins+Newman+Postman生成接口自动化测试报告_第39张图片
  3. 检查插件是否安装成功:进入插件管理页面,切换到【已安装】,搜索HTML Publisher ,如果存在,则证明安装成功,且要使插件处于启用状态;
    Jenkins+Newman+Postman生成接口自动化测试报告_第40张图片
  4. 返回首页工作台,点击项目,进入项目构建页面;
    Jenkins+Newman+Postman生成接口自动化测试报告_第41张图片
  5. 点击配置,进入项目配置页面;
    Jenkins+Newman+Postman生成接口自动化测试报告_第42张图片
  6. 切换到【构建后操作】→点击“增加构建后操作步骤”→下拉选择"Publish HTML reports",然后点击新增;
    Jenkins+Newman+Postman生成接口自动化测试报告_第43张图片
  7. 新增后的配置如下:
    HTML directory to archive:在本机上运行完脚本后生成的测试报告路径,这里是相对路径;
    Index page[s]:报告名称,这个就是运行完脚本后,在本地报告生成路径下的报告名称,我这里是result.html;
    Index page title[s] (Optional):非必填项;
    Report title:显示在jenkins上的名称,默认HTML Report就行;
    Jenkins+Newman+Postman生成接口自动化测试报告_第44张图片
  8. 配置完成后回到工作空间,构建任务成功后,便可点击查看生成报告。
    Jenkins+Newman+Postman生成接口自动化测试报告_第45张图片
    Jenkins+Newman+Postman生成接口自动化测试报告_第46张图片

4. Jenkins构建触发器

背景:当项目中要求以持续压测、定时任务的方式执行脚本时,通过 build now 手动触发的方式进行构建项目就很不灵活,这时就可以用jenkins自带的构建触发器进行自动化构建。

Jenkins(v2.341)本身内置了 5 种构建触发器:

  • 触发远程构建
  • 其他项目工程构建后触发 Build after other projects are built
  • 定时构建 Build periodically
  • GitHub hook trigger for GITScm polling
  • 轮循构建 Poll SCM

构建触发器入口:进入项目配置→构建触发器
Jenkins+Newman+Postman生成接口自动化测试报告_第47张图片

4.1 触发远程构建

选择“触发远程构建” ,填入身份验证的令牌(通常情况下令牌需要经过加密),令牌获取可参博客:不登录触发远程构建详解
作用:无需登录jenkins,使用拼接url+令牌直接访问触发远程构建,在浏览器地址中访问:http://{IP}:{端口号}/buildByToken/build?job={Job名称}&token={Token}
Jenkins+Newman+Postman生成接口自动化测试报告_第48张图片
Jenkins+Newman+Postman生成接口自动化测试报告_第49张图片

4.2 其他项目工程构建后触发

作用:配置关注项目工程,在关注的项目构建后(失败或成功),再构建本项目
Jenkins+Newman+Postman生成接口自动化测试报告_第50张图片

4.3 定时构建

作用:每隔一段时间触发构建

定时构建语法
* * * * *
星号*中间用空格隔开

第一个*表示分钟,取值0~59
第二个*表示小时,取值0~23
第三个*表示一个月的第几天,取值1~31
第四个*表示第几月,取值1~12
第五个*表示一周中的第几天,取值0~7,其中0和7代表的都是周日

示例:

  • 每隔5分钟构建一次:H/5 * * * *
  • 每隔2小时构建一次:H H/2 * * *
  • 每天8点构建一次:H 8 * * *
  • 每天8点~17点,两小时构建一次:H 8-17/2 * * *
  • 周一到周五,8点~17点,两小时构建一次:H 8-17/2 * * 1-5
  • 每月1号、15号的12点各构建一次,除12月:H 12 1,15 1-11 *
    Jenkins+Newman+Postman生成接口自动化测试报告_第51张图片

4.4 GitHub hook trigger for GITScm polling

向GitHub提交代码时触发jenkins自动构建,可参考博客:Jenkins+Github实现自动触发构建

4.5 轮询构建

作用:指定一段时间间隔去扫描代码仓库的代码是否有变更,如果有,则触发项目构建。
语法参考定时构建语法。如这里填写的H/5 * * * *,表示每5分钟去扫描代码仓库是否有代码变更,如有,则触发项目构建。
Jenkins+Newman+Postman生成接口自动化测试报告_第52张图片

你可能感兴趣的:(jenkins,持续集成,ci)