草庐IT

postman+Newman+jenkins实现接口自动化测试持续集成

测试架构师北凡 2023-06-03 原文

【文章末尾给大家留下了大量的福利】

  1、安装node.js,如果安装请忽略。

  网址:Download | Node.js,根据系统选择合适的版本,我的是windows64位系统。下载,选择合适路径安装即可。安装完成之后,可以通过输入命令:node -v   查看是否安装成功。如果安装成功,会返回一个版本号。

 

  2、下载安装postman

  网址:Download Postman | Get Started for Free  ,点击download,选择windows-64bit版本,下载,选择路径安装即可。可以创建邮箱账号,也可以略过。安装完成打开postman界面如下:

  3、安装newman

    命令提示符运行命令:npm install -g newman

    安装完之后,可以通过命令:newman -v   查看是否安装成功。如果安装成功会返回一个版本号。

  4、安装html报告

    命令提示符运行命令:npm install -g newman-reporter-html

  5、导出postman测试用例与环境变量

    ①将测试collections中的用例导出。如图所示。

     ②导出环境变量

     ③将导出的文件放在同一个文件夹下,方便Newman调用

  6、Newman执行测试

   win+R 打开运行界面   输入cmd打开命令提示符,通过cd命令进入存放测试用例的文件夹。

         ① 不存在环境变量的情况  键入  newman run 导出测试用例的全称    (测试结果控制台展示) 

    例如  newman run test.postman_collection.json  

    ② 存在环境变量的情况    键入   newman run 导出测试用例文件全称  -e  导出环境变量文件全称 (测试结果控制台展示)

    例如: newman run test.postman_collection.json -e kyps_ys.postman_environment.json

         ③ 键入   newman run 导出测试用例文件全称  -e  导出环境变量文件全称 -r html   (测试结果输出为html格式的文件)

    例如:newman run test.postman_collection.json -e kyps_ys.postman_environment.json -r html

  7、配置jenkins从节点(这里略过本地安装教程)

   ①在其他服务器存在jenkins服务(搭建方式这里就先不说了,可以自行查找)登录界面如图。

   ②此jenkins服务不是搭建在本地机器上的,但是我们又想让他在本地机器上运行,该如何是好?这就需要配置从节点,可以选择在本机运行jenkins脚本。

    1)点击Manage Jenkins  点击Manage Nodes 跳转节点管理页面。

    2)新建节点,填写名称,点击确定。

    3)填写节点配置信息。如图所示。点击保存即可。其中git路径配置可以不填写,这个主要是涉及到web UI自动化中用git管理源码时会用到。可以不管,有时间细说。

     4)最后一步启动从节点。在节点管理页面,点击从节点名称进入详情页。点击launch图标,会下载一个slave-agent.jnlp文件,保存打开。如图所示就连接成功了。在这里放我踩过的一个坑,因为是java服务,如果没有对浏览器开启服务的话,会出现死活都打不开jnlp文件的现象。这时我们可以通过电脑左下角搜索框搜索“java”,打开“配置java”,点击“安全”tab页,勾选上“对浏览器和webstart程序开启Java服务”。解决此问题

  8、jenkins建项目,搞配置,发送自动化测试报告

    1)点击新建item,填写名称,选择Freestyle project,点击确定。返回item面板

    2)点击item名称进入项目下。点击“配置”按钮。

    3)勾选限制项目的运行节点,填写从节点设置的标签

    4)构建触发器,选择build periodically,可以设置代码自动运行的时间间隔。具体的写法可以点击后边的?加以参考

    5)开始构建。点击增加构建步骤,选择Execute windows batch command 。填写具体的构建步骤,按照我们上边提到的Newman执行用例,填写即可。这里需要注意的是,你进入接口测试用例存放目录下,直接执行newman run test.postman_collection.json -e kyps_ys.postman_environment.json -r html命令时,会提示“Newman”不存在。需要在newman前加上具体的路径。C:UsersDELLAppDataRoaming pm ewman run test.postman_collection.json -e kyps_ys.postman_environment.json -r html。这里我们需要将测试报告命名并存到指定的位置。由此得到最终的命令

    C:UsersDELLAppDataRoaming pm ewman run kypstest.postman_collection.json -e kyps_ys.postman_environment.json -r html --reporter-html-export E:测试学习材料测试报告 estReport.html

    6)接下来是测试报告邮件进行发送设置。首先需要设置一个发件信箱。点击Manage Jenkins,再点击 configure system,进行系统配置。

      

       维护Jenkins URL和系统管理员邮件地址。再去维护Extended E-Mail Notification,进行发件邮箱的配置。点击“高级”按钮,进行邮箱账户以及授权码的填写。

      QQ邮箱授权码的获取步骤。登录邮箱,点击设置,进入账户。开启POP3/SMTP服务。如图所示。

       继续配置邮箱,设置默认触发条件。点击default triggers,配置默认触发条件。可以根据需要选择。我选择了每次失败都发邮件,这个自定义。邮件通知如图配置。最后点击保存之前通过发送测试邮件测试配置,来验证是否配置成功。

     7)至此,发件邮箱已经配置完成。进行收件邮箱配置,这需要在项目中进行配置。

      增加构建后操作,Email-Notfication,填写收件人邮箱

      增加构建后操作,Editable Email Notification,收件人、邮件模板等信息可以默认,也可以自己填写。其他信息如图所示。

    我的内容详情如下,仅供参考,不是特别好看:

    <!DOCTYPE html> 

    <html> 

    <head>
    <meta charset="UTF-8">
    <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
    </head>

    <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0">
    <h3>以下是Jenkins自动发送的邮件,请勿回复!</h3>
    <div>
    <table width="95%" cellpadding="0" cellspacing="0"
    style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
    <tr>
    <th><br />
    <h2>构建信息</h2>
    </th>
    </tr>
    <tr>
    <td>
    <ul>
    <li>项目名称 : ${PROJECT_NAME}</li><br />
    <li>系统的测试报告 : <a href="${PROJECT_URL}${BUILD_NUMBER}/allure">${PROJECT_URL}${BUILD_NUMBER}/allure</a></li><br />
    <li>触发原因: ${CAUSE}</li><br />
    <li>项目 Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li><br />
    </ul>
    </td>
    </tr>
    </table>
    </div>
    <div>
    <table>
    <tr>
    <th><br />
    <div>测试报告请见附件</div>
    </th>
    </tr>
    </table>
    </div>

    </body>
    </html>

     点击Advanced Settings,配置触发器设置,已经在jenkins系统配置过,可以不配置。

       点击保存,去执行build,检查是否收到了测试报告,至此完成整个配置。

     最后,展示一下,测试报告。

有关postman+Newman+jenkins实现接口自动化测试持续集成的更多相关文章

  1. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  2. ruby - RuntimeError(自动加载常量 Apps 多线程时检测到循环依赖 - 2

    我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("

  3. ruby - 如何根据特征实现 FactoryGirl 的条件行为 - 2

    我有一个用户工厂。我希望默认情况下确认用户。但是鉴于unconfirmed特征,我不希望它们被确认。虽然我有一个基于实现细节而不是抽象的工作实现,但我想知道如何正确地做到这一点。factory:userdoafter(:create)do|user,evaluator|#unwantedimplementationdetailshereunlessFactoryGirl.factories[:user].defined_traits.map(&:name).include?(:unconfirmed)user.confirm!endendtrait:unconfirmeddoenden

  4. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  5. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  6. ruby-on-rails - 从应用程序中自定义文件夹内的命名空间自动加载 - 2

    我们目前正在为ROR3.2开发自定义cms引擎。在这个过程中,我们希望成为我们的rails应用程序中的一等公民的几个类类型起源,这意味着它们应该驻留在应用程序的app文件夹下,它是插件。目前我们有以下类型:数据源数据类型查看我在app文件夹下创建了多个目录来保存这些:应用/数据源应用/数据类型应用/View更多类型将随之而来,我有点担心应用程序文件夹被这么多目录污染。因此,我想将它们移动到一个子目录/模块中,该子目录/模块包含cms定义的所有类型。所有类都应位于MyCms命名空间内,目录布局应如下所示:应用程序/my_cms/data_source应用程序/my_cms/data_ty

  7. postman接口测试工具-基础使用教程 - 2

    1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,

  8. postman——集合——执行集合——测试脚本——pm对象简单示例02 - 2

    //1.验证返回状态码是否是200pm.test("Statuscodeis200",function(){pm.response.to.have.status(200);});//2.验证返回body内是否含有某个值pm.test("Bodymatchesstring",function(){pm.expect(pm.response.text()).to.include("string_you_want_to_search");});//3.验证某个返回值是否是100pm.test("Yourtestname",function(){varjsonData=pm.response.json

  9. ruby-on-rails - rbenv:从 RVM 移动到 rbenv 后,在 Jenkins 执行 shell 中找不到命令 - 2

    我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions

  10. jenkins部署1--jenkins+gitee持续集成 - 2

    前置步骤我们都操作完了,这篇开始介绍jenkins的集成。话不多说,看操作1、登录进入jenkins后会让你选择安装插件,选择第一个默认的就行。安装完成后设置账号密码,重新登录。2、配置JDK和Git都需要执行路径,所以需要先把执行路径找到,先进入服务器的docker容器,2.1JDK的路径root@69eef9ee86cf:/usr/bin#echo$JAVA_HOME/usr/local/openjdk-82.2Git的路径root@69eef9ee86cf:/#whichgit/usr/bin/git3、先配置JDK和Git。点击:ManageJenkins>>GlobalToolCon

随机推荐