基于Jmeter+ant+Jenkins+钉钉机器人群通知的接口自动化测试
前言
搭建jmeter+ant+jenkins环境有些前提条件,那就是要先配置好java环境,本地java环境至少是JDK8及以上版本,最好是JAVA11或者JAVA17等较高的java环境,像jenkins这种持续构建工具基本都在向上兼容JAVA的环境,以前的JAVA8或者以下版本可能在运行jenkins等时可能会有异常导致执行失败或者提示java版本太低需要更新版本等,建议本地电脑环境装两套JAVA环境,一个JAVA8、一个JAVA17,需要使用时根据配置的环境变量即可切换JAVA版本
jmeter:开源接口和压力测试工具,基于java开发,运行需要java环境
ant:Apache Ant是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。Ant运行时需要一个XML文件(构建文件),运行需要java环境
jenkins: Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成,运行需要java环境
一、本地JAVA环境安装配置,安装JAVA8和JAVA17
分别下载JAVA8和JAVA17版本,JAVA官网下载,地址:
https://www.oracle.com/java/technologies/downloads/#jdk20-windows

按如上地址选择下载JDK17,windows版本安装即可,JAVA8历史版本安装自行下载安装即可
如我本地已经安装了JDK8和JDK17,安装路径如下:

本地安装完毕JAVA8和JAVA17后,为了能切换两个版本,需要分别配置如下环境变量:
变量名:JAVA_HOME 值:%JAVA_HOME17%,若需要切换为JAVA8,将值改为:%JAVA_HOME8%即可

变量名:JAVA_HOME8 值:C:\Program Files\Java\jdk1.8.0_91,值是本地JAVA8的安装路径

变量名:JAVA_HOME17 值:C:\Program Files\Java\jdk-17,值是本地JAVA17的安装路径

变量名:CLASSPATH 值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%ANT_HOME%\lib;

变量名:PATH ,将值:%JAVA_HOME%\bin移动到最前面即可

如上环境变量配置完毕后,打开cmd,查看JAVA当前版本,出现如下即可:

如上是显示当前环境是JAVA17,若切换到JAVA8,修改变量名:JAVA_HOME 将值改为:%JAVA_HOME8%,然后再次打开cmd查看JAVA运行版本:

二、安装和配置Jmeter
官网下载安装,安装后配置能正常启动jmeter的GUI界面即可进行接口和脚本开发
三、安装和配置ant
ant下载地址:http://ant.apache.org/
下载最新的ZIP压缩包即可,如下图:

版本:1.10.13官网明确说明了需要JAVA8及其以上的运行环境,JAVA环境低于JAVA8的需要升级
下载后在本地指定路径下下解压后,配置环境变量,配置如下:
ANT_HOME:F:\apache-ant-1.10.13-bin\apache-ant-1.10.13
path:%ANT_HOME%\bin;
classpath:%ANT_HOME%\lib;
配置完后,cmd窗口查看ant版本,显示如下即ant安装ok

四、jmeter + ant配置
将**apache-jmeter-5.4.1\extras下面的ant-jmeter-1.1.1的jar包到ant的lib目录,如下图:**

在本地一个磁盘路径下,新建一个xml文件:build_test.xml,如我的路径:D:\apache-jmeter-5.4.1\test
xml文件,内容如下:

xml文件中指定内容按实际的配置修改即可
同时也将需要执行的jmx脚本文件放置在该目录下
修改jmeter下jmeter.properties配置
jmeter.properties配置文件路径:D:\apache-jmeter-5.4.1\apache-jmeter-5.4.1\bin
将jmeter.save.saveservice.output_format=csv修改为:jmeter.save.saveservice.output_format=xml

cmd窗口运行
cmd切换到xml文件的目录下,执行命令:ant -buildfile build_test.xml
执行结果显示构建成功,即jmeter和ant环境配置ok

构建成功后,会在xml文件所在的目录下生成html和jtl的文件,如下图:

html文件可以直接浏览器打开查看测试报告,jtl文件就是jmeter的聚合报告数据文件,可以使用jmeter加载打开jtl文件查看聚合报告
看一下对应的测试报告:

五、jenkins安装和配置持续构建项目
安装jenkins
jenkins官网下载安装:https://www.jenkins.io/download/,选择windows版本

安装过程中有个端口和JDK运行环境设置,设置的端口不被系统服务占用即可


安装完毕后,浏览器输入:http://localhost:8080,访问jenkins
第一次访问jenkins需要解锁,管理员密码在日志文件可以查看到


拷贝到密码输入框即可,登录后的效果:

安装相应的插件
进入插件管理页面,切换到第二个菜单


安装插件:
DingTalk -----------发送钉钉消息的插件
HTML Publisher plugin ---------生成可视化html测试报告的插件
Ant In Workspace -------------ant构建配置插件
安装完毕后,查看第三个菜单,查看已安装的插件,

安装完毕插件后,最好重启一下jenkins,后面jenkins构建配置才能选择对应的插件,重启jenkins只需要在浏览器jenkins服务端口后面加上restart回车后,点击yes即可等待jenkins重启,如下图:

钉钉群新建自定义机器人
在钉钉群找到群应用:机器人

进入后选择添加自定义机器人

添加后保存好Webhook和加签,用于后面在jenkins构建时配置钉钉机器人设置,如下图:

添加构建JOB,新建一个自定义风格的JOB

在jenkins插件钉钉全局配置中,配置Webhook和加签

进入构建配置,第一步,配置添加钉钉机器人,如下图:

设置构建保存时间和最大显示构建数:

在构建定时设置,主要是设置jenkins何时定时自动执行该构建项目

定时构建语法:
* * * * *(五颗星,中间用空格隔开)
第一颗*表示分钟,取值 0~59第二颗*表示小时,取值 0~23第三颗*表示一个月的第几天,取值 1~31第四颗*表示第几月,取值 1~12第五颗*表示一周中的第几天,取值 0~7,其中 0 和 7 代表的都是周日
接下来就是构建步骤配置:

最后就是构建后的报告输出配置,如下图:

以上所有配置完毕后,应用保存即可。
构建项目

等待构建执行完毕,查看构建历史和构建日志,显示BUILD SUCCESSFUL即代表成功


构建完毕后在配置路径下生成html和jtl文件,如下图:

同时可以在jenkins上查看html测试报告,如下图:


同时也会钉钉群推送构建通知,如下图:
自动构建效果:

这样就完成了
Jmeter+ant+Jenkins+钉钉机器人群通知的接口自动化测试环境的部署和自动构建,后续只需要使用jmeter完成接口测试场景测试用例的设计和脚本编写即可
基于Jmeter+ant+Jenkins+钉钉机器人群通知的接口自动化测试的更多相关文章
- Jmeter+Ant+Jenkins搭建持续集成的接口测试(推荐 Mark)
转自:http://my.oschina.net/hellotest/blog/516079 目录[-] 一.Jmeter+ant 二.Jmeter+ant+Jenkins 三.Tomcat配置虚拟目 ...
- Jmeter+Ant+Jenkins构建接口自动化测试平台(Windows)
一.首先先介绍下我的环境: 1. win10系统 2. ant版本:apache-ant-1.10.1(作用:执行脚本,便于后期的持续集成,下载地址:http://ant.apache.org/bin ...
- 关于Jmeter+Ant+Jenkins作为接口、性能自动化框架的误区
说明:Apach-Jmeter有完善的桌面客户端,关联数据的处方方式,各种参数化的方式,各种Jar包的扩展,也可以用作抓包工具使用,当然最重要的是它是[开源!开源!开源!],重要的事说三遍,目前也有基 ...
- jmeter+ant+jenkins搭建接口自动化测试环境
jmeter+ant+jenkins搭建接口自动化测试环境(基于win) 1.jmeter jmeter依赖java运行环境,所以需要提前下载jdk并配置好环境变量 官网下载(http://jmete ...
- 基于Jmeter+maven+Jenkins构建性能自动化测试平台
一.目的: 为能够将相关系统性能测试做为常规化测试任务执行,且可自动无人值守定时执行并输出性能测试结果报告及统计数据,因此基于Jmeter+maven+Jenkins构建了一套性能自动化测试平台 ...
- 自动化测试框架【windows版】:JMeter + Ant + Jenkins
前提条件:windows安装了jmeter.ant.jenkins 安装方法参考汇总目录中对应的博文 截图看不清的,可以调大浏览器倍数看 jenkins驱动ant执行,ant驱动jmeter执行 an ...
- 自动化测试框架【linux版】:JMeter + Ant + Jenkins
前提条件:linux安装了jmeter.ant.jenkins 安装方法参考汇总目录中对应的博文 截图看不清的,可以调大浏览器倍数看 jenkins驱动ant执行,ant驱动jmeter执行 ant调 ...
- jmeter--接口自动化jmeter+ant+jenkins
的 一.介绍 接口自动化工具:jmeter+ant+jenkins 流程: -1.jmeter已录制或手动设置好脚本后 -2.配置ant,使用Ant工具,进行批量执行jmeter的脚本 -3.使用Je ...
- 【此处有干货~】jmeter+ant+jenkins持续集成配置及过程中问题解决思路
本人是一枚工作近三年的小测试,大学正好专业为软件测试,在工作中用到最多的是功能测试.接口测试.压力测试.偶尔会涉及到性能测试......(小白,很多观念技术跟大佬差距太大,勿喷) 在接口测试过程当中, ...
- Jenkins环境搭建(2)-搭建jmeter+ant+jenkins自动化测试环境
一直想在持续集成方向学习并研究一番,近期正准备结合jmeter+ant+jenkins做自动化接口测试,在学习的同时,正好实践一番,毕竟实践才是真理. 在搭建jmeter+ant+jenkins环境有 ...
随机推荐
- 在Pycharm上使用远程服务器进行调试
前言 缘起 Mac上没有GPU,需要用到学校服务器进行调试,于是产生了这篇博客.0.0bb 前提 首先确保已经将Pycharm配置好,通过SSH连接到服务器上的开发环境,这一步网络上有许多教 ...
- NX二次开发:保存时导出PDF并打开
该工程为在保存时执行开发的功能,函数入口点ufput.其他还有新建.打开.另存等都可以加入开发的操作,具体看UF_EXIT下的介绍. 用户出口是一个可选特性,允许你在NX中某些预定义的位置(或出口)自 ...
- [C++STL教程]6.bitset是什么?和bool有什么区别?零基础都能看懂的入门教程
之前我们介绍过vector, queue, stack,map,set,今天我们介绍另外一个stl容器:bitset. 作者:Eriktse 简介:19岁,211计算机在读,现役ACM银牌选手力争以通 ...
- 一次因生产事故与chatGpt的对话
一次因生产事故与chatGpt的对话 前言:生产出现了一个内存溢出的事故,记录错误信息.错误日志如下 org.springframework.web.util.NestedServletExcepti ...
- img2pdf 报 img2pdf.AlphaChannelError: Refusing to work on images with alpha channel 的解决方案
问题描述: 在使用img2pdf转换png到pdf时候,报了如下错误 img2pdf.AlphaChannelError: Refusing to work on images with alph ...
- ArcGIS倾斜摄影无法加载找不到nodes节点
倾斜摄影无法加载,在fiddler请求中,nodes/root请求失败,如:http://10.0.7.173:6080/arcgis/rest/services/Hosted/xm4490/Scen ...
- [VMware]虚拟网络编辑器
虚拟网络编辑器 Vmware > 编辑 > 虚拟网络编辑器 VMnet0 VMnet0:用于虚拟桥接模式网络下的虚拟交换机 vmnet0: 实际上就是一个虚拟的网桥 这个网桥有很若干个端口 ...
- [Linux/CentOS]通过yum获取rpm安装包
1 yum获取rpm安装包 有时候你需要一个软件包在离线linux系统上安装,如果自己找软件包麻烦,可以linux yum下载需要的软件包. 准备工作是找一台能够联网的linux,并准备好了yum及y ...
- 多进程和多线程,Thread模块 GIL全局解释锁, 进程池与线程池,协程
1.多进程实现TCP服务端并发: import socket from multiprocessing import Process def get_server(): server = socket ...
- linux shell 自动化部署 npm vue 项目
此 shell 是提供给前端登录服务器自动化部署 vue 项目的 用此命令,工具化部署项目,可以杜绝前端自己部署项目时,对服务器违规操作 如有其它问题,可在下方留言! #!/bin/sh # url: ...