接口测试很难吗?学会JMeter+Ant接口自动化搭建及实践

article/2025/4/24 7:09:35

JMeter是Apache组织的开放源代码项目,能做接口测试、功能测试和性能测试。它能够对HTTP和FTP服务器进行压力和性能测试,也可以对数据库进行同样的测试(通过JDBC),还能以多种形式展现测试结果。

在这里插入图片描述

然而,在使用JMeter进行测试过程中,不可避免遇到两个痛点:“运行测试脚本”和“生成测试报告”。前者主要是需要不断重复运行脚本,且当脚本数量较多或进行并发测试时,JMeter GUI界面容易宕机、卡死等,这种情况下就需要重复使用命令执行脚本;后者则是需要手工整理数据、分析测试结果然后生成测试报告。

因此,本文采用JMeter+Ant(一个将软件编译、测试、部署等步骤联系在一起加以自动化的工具)搭建自动化测试环境,用以解决测试过程中的痛点,通过此环境可以实现:

  • (1)自动重复运行脚本
  • (2)自动生成测试报告
  • (3)自动发送邮件。

大体的逻辑如下:

1、配置build.xml文件,Ant通过XML文件进行构建,通过调用target就可以执行各种task,每个task实现了特定接口对象。因此,通过Ant可以实现批量执行。

2、Ant通过测试结果(jtl文件)构建生成HTML测试报告,并输出在指定路径下,避免了手工整理测试报告。

3、根据build.xml文件中配置的的邮件信息,将HTML测试报告自动发送到指定的邮箱。

JDK安装

JMeter依赖Java环境,故需要先安装JDK并配置好环境变量。

Java环境变量配置

1、创建JAVA_HOME(JDK安装目录)。如:C:\Program Files (x86)\Java\jdk1.8.0_231

2、创建CLASSPATH,.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)

3、编辑Path,把值放在最面?%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

验证JDK

CMD命令行输入java -version,显示如图,表示安装成功。

在这里插入图片描述

JMeter安装

下载成功后,解压缩到建立的文件夹路径中(如:D:\Apache\JMeter)。

JMeter环境变量配置

1、创建JMETER_HOME,填写JMeter文件所属路径(如:D:\Apache\JMeter)

2、修改CLASSPATH,添加;%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar;

3、修改Path,添加%JMETER_HOME%\bin

点击JMeter目录下bin文件夹中的jmeter.bat就可以打开JMeter,具体界面如下:
在这里插入图片描述

添加常用插件

注:官网下载的JMeter不包含一些常用插件。

将plugins-manager-xxx.jar、JMeterPlugins-Extras.jar、JMeterPlugins-Standard.jar和JMeterPlugins-Standard-1.4.0.zip解压后的jar包放入D:\Apache\JMeter目录下的lib\ext目录,重启JMeter。

打开有如下页面,则成功安装。
在这里插入图片描述

JMeter相关配置修改

1、修改默认语言和jvm参数(根据电脑配置进行修改),编辑JMeter.bat如下:
在这里插入图片描述
在这里插入图片描述

2、编辑JMeter.peoperties使用第三方模块生成详细报告:
在这里插入图片描述

Ant安装

下载成功后,解压Ant压缩包到建立的文件夹路径(如:D:\Apache\Ant)。

Ant环境变量配置

1、创建ANT_HOME,填写Ant所属路径(如D:\Apache\Ant?)

2、修改CLASSPATH,添加;%ANT_HOME%\lib

3、修改Path,添加;%ANT_HOME%\bin

验证Ant

CMD命令行输入ant,如下图所示表示安装成功。
在这里插入图片描述

Ant配置及相关使用操作

1、将D:\Apache\JMeter\extras下面的ant-jmeter-1.1.1.jar包复制到D:\Apache\Ant\lib目录下。

2、将jmeter.results.shanhe.me.xsl和jmeter-results-detail-report_21.xsl分别放在D:\Apache\JMeter\extras目录下。

3、(发送邮件所需jar包)下载activation-1.1.1.jar、commons-email-1.5.jar和javax.mail.jar放到D:\ Apache\ant\lib。

4、在本地任意创建目录testcases(如:D:\testcases),并在其目录下创建report文件夹和build.xml文件,复制以下内容到build.xml文件中:

<?xml version="1.0" encoding="UTF-8"?>

打包zip文件

发送测试报告

${email_content}

5、打开CMD命令行,切换到testcases目录下执行ant命令;或在testcases目录编写ant.bat文件执行,文件内容如下:

@echo

call ant -buildfile build.xml -l logfile

pause

注:执行日志存放在testcase目录下的logfile文件中。

附:报告及邮件

1、概略报告
在这里插入图片描述

2、详细报告
在这里插入图片描述

3、邮件及附件

在这里插入图片描述
下面福利来了

这里我近几年的收集和整理,整体是围绕着【软件测试】来进行整理的,主体内容包含:python自动化测试专属视频、Python自动化详细资料、全套面试题等知识内容。
在这里插入图片描述在这里插入图片描述
对于软件测试的的朋友来说应该是最全面最完整的面试备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你

关注微信公众号【程序员二黑】即可领取Python自动化测试超硬核资源


http://chatgpt.dhexx.cn/article/vUwTcLvt.shtml

相关文章

JMeter+Jenkins+Ant接口持续化集成

JMeterJenkinsAnt接口持续化集成 一.ant环境配置1.新建test文件夹&#xff08;不能有中文路径&#xff09;test文件夹里新建ant文件夹和TestAuto文件夹在TestAuto文件夹中创建pc文件夹&#xff0c;pc文件夹中创建resultlog文件夹和script文件夹在resultlog中分别创建html和jtl文…

jmeter+ant+jenkins接口自动化测试框架

目录 一、前言 二、安装就jmeter 三、安装jdk 四、安装Ant 五、Ant配置Jmeter&#xff1a;用ant构建命令来调动执行jmeter接口测试&#xff0c;并生成测试报告 六、配置Jenkins&#xff0c;构建持续集成 一、前言 hello呀&#xff01;各位铁子们大家好呀&#xff0…

Jmeter+ant实现接口自动化(三)

1、来看看jmeter生成自带的测试报告 进入jmeter的解压路径下的/bin&#xff0c;执行某个路径下的jmx文件&#xff1a; jmeter -n -t /Users/ss/Desktop/jmeter/参数化.jmx -l result.jtl -e -o WebReport -n: 非GUI模式执行JMeter -t: 执行测试文件所在的位置 -l: 指定生成测…

jmeter+ant接口自动化测试框架

1、安装就jmeter 1、下载安装包&#xff08;过程略过&#xff0c;自己找安装包&#xff0c;随便装在哪个目录下&#xff09; 2、配置环境变量 JMETER_HOME 为 jemter安装路径; CLASSPATH为 %JMETER_HOME%\lib; PATH为%JMETER_HOME%\bin; 3、安装验证 在命令窗口中输入jmet…

Ant安装及环境变量配置+邮件配置+Ant生成接口测试报告

Ant安装 1.将Ant解压到 D:\Atest\apacheAnt下 2.将JMeter所在目录下extras子目录里的ant-jmeter-1.1.1.jar复制到 ant 所在目录lib子目录下&#xff0c;这样Ant运行时才能找到“org.programmerplanet.ant.taskdefs.jmeter.JMeterTask”这个类&#xff0c;从而成功触发JMeter脚…

Jmeter+Ant 接口自动化环境配置指南

一 、Jmeter安装与配置(以下为个人CSDN博客老文章) https://blog.csdn.net/tester_sc/article/details/80746405 注&#xff1a;Jmeter5.0的环境变量配置与4.0或历往老版本有部分小差异&#xff0c;笔者用的Jmeter 5.0 二 、Ant的安装与配置 # Ant下载地址(下载到指定目录后…

SpringBoot整合MyBatis实现分库分表方案

SpringBoot整合MyBatis实现分库分表方案 SpringBoot整合Mybatis实现分库分表查询&#xff0c; 这里不讲解SpringBoot如何整合MyBatis &#xff0c;只讲解SpringBoot整合MyBatis下的实现分库分表的实现方案。 #大概的实现思路 我们知道MyBatis的mapper对象是通过动态代理创建…

一种简单易懂的 MyBatis 分库分表方案

转载自&#xff1a;https://www.toutiao.com/a6667422100141113863/?tt_fromweixin&utm_campaignclient_share&wxshare_count1&timestamp1552387200&appnews_article&utm_sourceweixin&iid65271942423&utm_mediumtoutiao_android&group_id666…

MyBatis分库分表方案

SpringMVC MyBatis分库分表方案 mybatis作为流行的ORM框架&#xff0c;项目实际使用过程中可能会遇到分库分表的场景。mybatis在分表&#xff0c;甚至是同主机下的分库都可以说是完美支持的&#xff0c;只需要将表名或者库名作为动态参数组装sql就能够完成。但是多余分在不同…

数据库分库分表解决方案

数据库分库分表解决方案 前言MySQL表大小限制分表方案垂直分表水平分表按月分表MySQL分区表 分库方案按业务分库按表分库 拆分后的问题及常见的解决方案垂直拆分跨库Join问题全局表数据同步 分布式事务问题MySQL XA事务本地消息表 水平拆分分布式全局唯一ID分片键选择数据扩容跨…

MySQL-分库分表方案

一、业务背景 随着业务量的增长&#xff0c;数据量会随之增长&#xff0c;单机情况下DB服务器会面临存储容量、连接数和处理能力的瓶颈&#xff0c;当数据量达到一定量级时&#xff0c;DDL变更时间变长&#xff0c;影响业务可用性&#xff0c;此时需要考虑分库分表&#xff0c…

最全的MySQL分库分表方案总结

“ 面试中我们经常会碰到的关于分库分表的问题&#xff01;今天就给大家介绍互联网公司常用 MySQL 分库分表方案&#xff01;希望对大家的面试有所帮助&#xff01; 数据库瓶颈 不管是 IO 瓶颈&#xff0c;还是 CPU 瓶颈&#xff0c;最终都会导致数据库的活跃连接数增加&#x…

python mysql分库分表_干货 : 常用MySQL分库分表方案

Python乱炖推荐搜索后浪 动森玩家 送书 数据分析 一、数据库瓶颈 不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞…

php分库分表技术,谈谈关于分库分表的方案

1. 数据库瓶颈 不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。 1.1. IO瓶颈 第一种:磁盘读IO瓶颈,…

这应该是全网最全的分库分表方案了

一、数据库瓶颈 不管是IO瓶颈&#xff0c;还是CPU瓶颈&#xff0c;最终都会导致数据库的活跃连接数增加&#xff0c;进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是&#xff0c;可用数据库连接少甚至无连接可用。接下来就可以想象了吧&#xff08;并发…

MySQL第六讲 MySQL分库分表方案

分库分表概念 分库分表就是业务系统将数据写请求分发到master节点&#xff0c;而读请求分发到slave 节点的一种方案&#xff0c;可以大大提高整个数据库集群的性能。但是要注意&#xff0c;分库分表的 一整套逻辑全部是由客户端自行实现的。而对于MySQL集群&#xff0c;数据主从…

分库分表方案对比

房晓乐&#xff08;葱头巴巴&#xff09;&#xff0c;PingCAP 资深解决方案架构师&#xff0c;前美团数据库专家、美团云 CDS 架构师、前搜狗、百度资深 DBA&#xff0c;擅长研究各种数据库架构&#xff0c;NewSQL 布道者。 原文链接&#xff1a;https://dbaplus.cn/news-11-1…

分库分表方案

一、为什么要进行分库分表 当MySQL单表数据量过大&#xff0c;比如超过5千万条的时候&#xff0c;读写性能变得很差。而且常规的优化手段已经不起作用了&#xff0c;比如&#xff1a;SQL调优、添加索引、主从复制、读写分离。这时候就需要用到MySQL终极优化方案 — 分库分表。 …

分库分表设计方案

一、为什么要分库分表? 随着业务的不断发展&#xff0c;数据量不断增加&#xff0c;因此数据操作&#xff0c;如增删改查的开销也会越来越大&#xff0c;原来基于单库单表的设计已经不能满足存储需求&#xff0c;数据库随时面临爆库风险&#xff1b; 再加上物理服务器的资源有…

python:numpy的corrcoef计算相关系数

corrcoef(x, yNone, rowvarTrue, biasnp._NoValue, ddofnp._NoValue)函数常用的是前三个参数&#xff0c;x和y分别是需要计算相关系数的两个随机变量&#xff0c;当rowvar为True(默认情况)时&#xff0c;每一行代表一个随机变量&#xff0c;否则每一列代表一个随机变量。 该函数…