当前位置: 首页 > news >正文

极致精细的jmeter+ant+jenkins 搭建接口自动化测试

一、jmeter

相信大家对jmeter并不陌生哈,如果没有安装和配置环境的小伙伴,可以直接找到我哈,我发给你。

二、ant

安装ant

第一步:下载ant  http://ant.apache.org/

第二步:配置ant

window中设置ant环境变量:

以下是我电脑ant配置

ANT_HOME    C:/ apache-ant-1.9.7

path             C:/ apache-ant-1.9.7/bin

classpath      C:/apache-ant-1.9.7/lib

cmd打开 输入ant执行

说明ant安装成功!因为ant默认运行build.xml文件,build.xml 需要我们自己建立,等哈后面 我们再说这个

为了确定真的安装成功了  我们执行ant -version

ok了,我们继续往后面扯

三、将\apache-jmeter-3.2\extras下面的ant-jmeter-1.1.1的jar包到ant的lib目录,如图所示:

 

 四、建立build.xml

 

从上图可以知道  我们创建了一个文件夹demo,然后把build.xml 丢在它下面了

<?xml version="1.0" encoding="UTF-8"?><project name="ant-jmeter-test" default="run" basedir="."><tstamp><format property="time" pattern="yyyyMMddhhmm" /></tstamp><!-- 需要改成自己本地的 Jmeter 目录-->  <property name="jmeter.home" value="D:\study\apache-jmeter-3.2" /><!-- jmeter生成jtl格式的结果报告的路径--> <property name="jmeter.result.jtl.dir" value="D:\study\apache-jmeter-3.2\demo\report\jtl" /><!-- jmeter生成html格式的结果报告的路径--><property name="jmeter.result.html.dir" value="D:\study\apache-jmeter-3.2\demo\report\html" /><!-- 生成的报告的前缀-->  <property name="ReportName" value="TestReport" /><property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" /><property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" /><target name="run"><antcall target="test" /><antcall target="report" /></target><target name="test"><taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /><jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"><!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本--><testplans dir="D:\study\apache-jmeter-3.2\demo" includes="*.jmx" /><property name="jmeter.save.saveservice.output_format" value="xml"/></jmeter></target><path id="xslt.classpath"><fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/><fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/></path> <target name="report"><tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/></tstamp><xslt classpathref="xslt.classpath"force="true"in="${jmeter.result.jtlName}"out="${jmeter.result.htmlName}"style="${jmeter.home}/extras/jmeter-results-report-loadtest.xsl"><param name="dateReport" expression="${report.datestamp}"/></xslt><!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> <copy todir="${jmeter.result.html.dir}"><fileset dir="${jmeter.home}/extras"><include name="collapse.png" /><include name="expand.png" /></fileset></copy></target>
</project>

上图注释已经很清晰了,只需要配置下jmeter路径以及报告样式就可以使用我这个build.xml文件了

五、创建一个jmx文件 然后运行下

进入到该目录,并cmd执行ant

 

上图的BUILD SUCCESSFUL 证明已经成功了,而且报告在report/html下面

现在我们打开报告看看

报告是不是很好看,其实就是\apache-jmeter-3.2\extras这个目录下jmeter-results-report-loadtest.xsl这个样式生成的报告

六、集成jenkins

废话不多说 ,启动jenkins

1、java -jar jenkins.war (自己去下载jenkins.war)  也可以在群里问我要

2、下载jenkins.tar 并解压 将解压之后的文件丢在tomcat下面的webapps下面     

 双击C:\apache-tomcat-7.0.72\bin下面的startup.bat 启动  

这就证明jenkins已经启动了

然后随意打开一个浏览器 输入:http://localhost:8080/jenkins  默认端口号为8080

我自己改成8888的,你们随意

创建一个项目。

 选择第一个自由风格,然后点击OK按钮

 然后配置ant,增加build路径

 

点击保存之后,我们继续配置测试报告

我们需要下载一个插件Public HTML reports

系统管理----》管理插件----》可选插件   输入Public HTML reports 进行查询并进行安装

接下来继续配置报告

点击增加构建后操作步骤  并点击Public HTML reports

并点击保存按钮  好了  现在我们报告也配置好了 

我们现在jenkins构建下吧

 点击之后 出现

证明jenkins在构建了

 

好了到了这一步 已经构建成功了,Success ! 

我们在jenkins下面看下报告吧

 

 

报告已经ok了

其实文章篇幅很长,配置很简单

最后可以用jenkins定时执行我们的jmeter脚本,也就是批量执行jmeter脚本了

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

文档获取方式:

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

http://www.lryc.cn/news/161081.html

相关文章:

  • Unity物体查找方式
  • 【Spring容器的启动流程】
  • Python---字符串
  • MySQL数据 - 索引
  • 长安链BaaS服务平台调研
  • 怎么关闭php错误提示?两者方法分享
  • Android Aidl跨进程通讯(三)--进阶使用
  • vue.js+nodejs家庭个人理财收支管理系统5x6nf
  • 怎样去掉win11快捷方式的小箭头
  • Django项目如何配置日志文件信息
  • 遇到一个异步任务后是否会直接加入到异步队列当中
  • SUSE Linux文件系统在线扩容
  • 智能电话机器人的出现,能够解决哪些问题?
  • 16-数据结构-图的存储结构
  • 递推算法及常见示例(C++、Python实现)
  • vscode调试程序设置
  • 电商邮件营销攻略:教你如何有效运营邮件营销策略!
  • centos+jenkins+pycharm
  • Linux-Centos7安装Docker
  • 前端Vue入门-day06-路由进阶
  • 数据库服务器是什么意思?数据库服务器有哪些?
  • 配电网智能软开关(sop)规划模型matlab
  • Qt 常用函数
  • UMA 2 - Unity Multipurpose Avatar☀️六.Advanced Occlusion高级遮挡功能解决皮肤服饰穿模
  • 深度解析自然语言处理之篇章分析
  • Python3.11教程3:模块和包(pip/conda)、文件系统(os/ shutil/json/pickle/openpyxl/xlrd)
  • shell 脚本工具(三剑客)
  • 基于微信小程序的智能垃圾分类回收系统,附源码、教程
  • 【C++进阶】:AVL树(平衡因子)
  • Python教程33:关于在使用zipfile模块,出现中文乱码的解决办法