WEB接口测试之Jmeter接口测试自动化 (四)(持续构建)

Jmeter是压力测试、接口测试工具,Ant是基于Java的构建工具,具有跨平台的作用,jenkins是持续集成工具。将这三者结合起来可以搭建一套webservice接口测试的持续构建环境。

1、安装JDK,配置java环境变量(略过)

2、安装Jmeter,这里用到的版本是2.12(安装过程略过)

3、安装 ANT

3.1 下载安装

下载地址 http://ant.apache.org/bindownload.cgi,下载后解压到指定位置即可,

比如:D:/program files/apache-ant-1.9.0

3.2 配置环境变量

3.3 安装验证

验证安装结果,命令行输入ant -v ,出现版本信息则安装成功

4、ANT中配置Jmeter

4.1、配置库文件

将jmeter extras目录下的ant-jmeter-1.1.1.jar 文件拷贝到ant安装目录下的lib文件夹中

copy from:

paste to:

4.2 配置ANT与Jmeter的配置文件

4.2.1 配置ant 编译文件 build.xml

拷贝下面的内容与新建的txt文件中,并将此文件改名为:build.xml

View Code

如下按实际情况修改build.xml文件

4.2.2 配置jmeter.properties

配置jmeter报告输出格式为xml在jmeter根目录下jmeter.properties文件中修改jmeter.save.saveservice.output_format=csv 为

jmeter.save.saveservice.output_format=xml,并去掉前面的注释符号#

4.3 验证配置,执行构建测试

4.3.1 准备测试脚本数据

build配置文件放在与测试脚本同目录

4.3.2 执行测试

命令行cd到build.xml文件所在目录,输入ant run ,执行测试

看到build successful 则说明构建测试成功

4.3.3 报告输出路径下查看测试结果报告

按build.xml文件中设置的测试报告地址找到html版测试报告

打开看看:测试结果展现了用例数、成功率、用例执行时间等结果参数

4.4、 测试报告优化

用jmeter自带的测试报告得到的测试报告信息并不是很全,这里参考网上的方法,做一个优化

4.4.1、下载优化模板 jmeter-results-shanhe-me.xsl,拷贝到jmeter的extras目录中,

如C:\apache-jmeter-2.12\extras

4.4.2、设置测试输出报告要输出的内容

同样在jmeter.properties中,设置需要输出的内容为true,并去掉前面的注释符号#,这里全部设置成true

4.4.3 设置build文件的报告模板为优化后的模板jmeter-results-shanhe-me.xsl

4.4.4、按前面的方式再次用ant构建测试,查看优化后的测试报告

5、配置jenkins

5.1 、jinkins.war的下载与安装,下载后放到d盘根目录

5.2 、配置环境变量,设置JENKINS_HOME

5.3 、解压并启动jenkins

命令行输入java -jar jenkins.war,浏览器中输入url:jenkins所在主机IP 端口:8080 ,打开jenkins,

配置用户名、密码及插件,这里需要配置invoke ant插件、HTML测试报告展示的插件

5.4、新建并配置一个JOB

设置项目名称:

配置构建:

配置构建:invoke ant

配置build文件路径:

配置测试报告插件,用于打开测试结果报告

基本配置完成

5.5、JOB主页,点击立即构建,执行测试,构建完成即可通过HTML_Report来查看测试结果

继续构建基本完成,另外还 可以配置邮件插件来发送测试报告,设置构建时间来定时自动执行测试

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
小兵张健2 小时前
价值1000的 AI 工作流:Codex 通用前端协作模式
前端·aigc·ai编程
sunny_2 小时前
面试踩大坑!同一段 Node.js 代码,CJS 和 ESM 的执行顺序居然是反的?!99% 的人都答错了
前端·面试·node.js
拉不动的猪3 小时前
移动端调试工具VConsole初始化时的加载阻塞问题
前端·javascript·微信小程序
ayqy贾杰4 小时前
Agent First Engineering
前端·vue.js·面试
IT_陈寒4 小时前
SpringBoot实战:5个让你的API性能翻倍的隐藏技巧
前端·人工智能·后端
iceiceiceice5 小时前
iOS PDF阅读器段评实现:如何从 PDFSelection 精准还原一个自然段
前端·人工智能·ios
大金乄5 小时前
封装一个vue2的elementUI 表格组件(包含表格编辑以及多级表头)
前端·javascript
葡萄城技术团队6 小时前
【性能优化篇】面对万行数据也不卡顿?揭秘协同服务器的“片段机制 (Fragments)”
前端
程序员阿峰6 小时前
2026前端必备:TensorFlow.js,浏览器里的AI引擎,不写Python也能玩转智能
前端
Jans6 小时前
Shipfe — Rust 写的前端静态部署工具:一条命令上线 + 零停机 + 可回滚 + 自动清理
前端