jmeter
饿极老人●冯人打
逆天逆空气,创天创世纪!!!
展开
-
jmeter用循环控制器和计数器,直接查询数据库获取数据作为后续接口的参数
一、导入mysql驱动jar包二、添加线程组,jdbc配置文件三、添加jdbc请求,设置参数变量四、添加循环控制器,然后在其中加入计数器如下五、用函数助手生成${__V(buyer_code_${M},)}和${__V(buyer_shortname_${N},)}六、然后在后续接口中调用七、执行结果...原创 2021-12-24 15:39:24 · 882 阅读 · 1 评论 -
Jmeter性能测试工具Timer定时器详解
jmeter提供了很多元件,帮助我们更好的完成各种场景的性能测试,其中,定时器(timer)是很重要的一个元件,jemter提供了9种定时器,下面一一介绍:一、定时器的作用域1、定时器是在每个sampler(采样器)之前执行的,而不是之后(无论定时器位置在sampler之前还是下面);2、当执行一个sampler之前时,所有当前作用域内的定时器都会被执行;3、如果希望定时器仅应用于其中一个sampler,则把定时器作为子节点加入;二、定时器详解1、固定定时器Constant.原创 2021-12-22 15:56:28 · 1565 阅读 · 0 评论 -
史上最全jmeter逻辑控制器案例详解
史上最全jmeter逻辑控制器案例详解_探索测试-CSDN博客_jmeter 逻辑控制器转载 2021-10-29 09:36:28 · 163 阅读 · 0 评论 -
解决jmeter 处理大数据量结果返回导致jmeter卡死的问题
故事背景: 调用某个查询接口,一次性返回200多条记录,总量有400k+,返回的报文中一直报Responsetoolarge to be displayed. Size: 412152 > 204800,而且每次点击查看“察看结果树”后会导致jmeter卡死,解决方法:step1、在user.property中增加 view.results.tree.max_size=0 并重启jmeterstep2、右击测试用例——添加——监听器——保存响应到文件,填写要保存的文件名step3、将...原创 2021-04-02 13:53:22 · 5010 阅读 · 2 评论 -
jmeter如何设置IP欺骗
由于服务器出于安全考虑会对同一IP地址做过滤,所以如果想要达到正常的压测效果,我们需要在发请求时伪造出不同的IP地址。主要步骤分为以下3步:第一步:在负载机上绑定IP地址。第二步:在要欺骗的http请求中,修改Implementation为httpclient模式。第三步:在要欺骗的http请求中,修改Source IP Address,指定请求要用到的本地地址(参数化)。首先打开负载机上的网络配置,将IP地址更改为固定IP然后点击高级项手动添加你要伪造的IP地址此处添加的地...原创 2021-03-12 16:51:58 · 595 阅读 · 0 评论 -
Jmeter Address already in use: connect 解决方案
第一种方案背景:最近压测接口时,并发一段时间后,会报java.net.BindException: Address already in use: connect原因:Jmeter里的http sample勾选了keep alive,导致会话一直保持,而windows本身的端口有限,导致端口被占用完后,无法分配新的端口,因此会产生java.net.BindException: Address already in use: connect 报错。解决方案:HTTP SAMPL原创 2020-12-21 16:11:28 · 10136 阅读 · 2 评论 -
JMeter命令行生成监控CPU和内存图片
Meter 命令行执行脚本得到的报告中,是没有CPU、内存使用率等监控数据的,我们可以使用JMeter插件帮忙。首先,需要下载JMeterPlugins-Standard.jar,jmeter-plugins-manager-1.3.jar,并将文件放到jmeter安装包lib/ext目录下。1、生成jtl文件我们可以使用“所有数据写入一个文件”的功能,设置cpu的数据将会存到文件中:文件名后缀支持.xml,.jtl,.csv;这里保存为.jtl后缀的文件;当使用命令行“jmeter原创 2020-12-11 15:11:23 · 2238 阅读 · 0 评论 -
Jmeter全局变量的设置及使用
函数助手提供了一个函数用于设置全局变量属性。__setProperty:用于动态设置Jmeter属性步骤:1、在一个请求响应中,通过JSON Extractor获取局部变量值,命名为token2、用后置处理器BeanShell PostProcessor设置全部变量步骤:1)脚本输入:${__setProperty(tokenG,${token},true)}tokeG即为全部变量名3、使用全局变量,${__P(tokenG,)}...原创 2020-11-02 11:02:43 · 1840 阅读 · 0 评论 -
JMeter测试WebSocket的经验总结
最近有一个微信聊天系统的项目需要性能测试,既然是测试微信聊天,肯定绕不开websocket接口的测试,首选工具是Jmeter,网上能搜到现成的方法,但是网上提供的jar包往往不是最新的,既然是用最新版本的Jmeter4.0,那么所依赖的插件jar包也应该追求新的。所以提供了以下链接供大家下载(甚至连源码都提供):(1)Jmeter工具(2)websocket请求模板JMeterWebSocketSamplers(=>maven依赖包)(3)jetty-http(4)jetty-...原创 2020-10-27 14:57:00 · 825 阅读 · 0 评论 -
Jmeter-正则表达式同一字段匹配多个值,取第n个值
Jmeter-正则表达式同一字段匹配多个值,取第3个值使用场景:正则表达式取eid,匹配了16处,取第三个eid值怎么办呢?正则表达式使用引用参数同理取第二个值就是${eid_2}值得注意的是匹配的内容包括中文时,不要忘了填写编码utf-8,不然要出错哦!...原创 2020-09-10 15:34:20 · 1646 阅读 · 1 评论 -
jmeter线程组执行顺序设置
在做接口测试过程中,我们经常会碰到当前请求需要上一个请求响应的数据做参数的值传入到当前请求里,这种情况必须保证上一个请求先执行,才能保证当前请求可以得到参数的值。下面就一个例子:以接口请求需要携带token为例。每个请求都需要携带token。从图片中,我们不难看出,如果把获取token的请求放在APP线程组中,会导致获取token时会携带信息头,这样获取会失败。如果一定要添加进APP线程组中,就需要把http请求默认值和http信息头管理器放到每个请求接口下方。这样会导致整体看上去很臃肿。所以我原创 2020-08-17 11:15:34 · 2495 阅读 · 1 评论 -
JMeter测试WebSocket的经验总结
最近有一个微信聊天系统的项目需要性能测试,既然是测试微信聊天,肯定绕不开websocket接口的测试,首选工具是Jmeter,网上能搜到现成的方法,但是网上提供的jar包往往不是最新的,既然是用最新版本的Jmeter4.0,那么所依赖的插件jar包也应该追求新的。所以提供了以下链接供大家下载(甚至连源码都提供):(1)Jmeter工具(2)websocket请求模板JMeterWebSocketSamplers(=> maven依赖包)(3)jetty-http(4)jett...转载 2020-07-22 15:18:05 · 700 阅读 · 0 评论 -
jmeter—获取当前时间(年、月、日),往前/往后n天
import java.util.Calendar; Calendar cal = Calendar.getInstance(); int day = cal.get(Calendar.DATE); int month = cal.get(Calendar.MONTH) + 1; int year = cal.get(Calendar.YEAR); String Month2 = Integer.toString(mont...原创 2020-06-22 17:00:13 · 2660 阅读 · 0 评论 -
Jmeter函数助手之__time函数(获取当前时间)
Jmeter函数助手之__time函数(获取当前时间)在实际的接口用例测试中,有些接口是需要输入当前时间的,而且格式各异,那么有没有方法可以直接获取时间呢?有的,Jmeter提供了time函数来达成这一点,如下,打开函数助手,找到__time这个函数,可以看到该函数有两个参数,即格式和参数名称,两者都不是必填项,格式:非必填项,格式如果不填那么就是默认获取当前时间的毫秒数(此项也常被用于接口参数中那些不允许重复的字段);参数名称:非必填项,如果填了,则生成的时间会被放到该参数中,可以在任意地方调用原创 2020-06-22 16:24:49 · 1929 阅读 · 1 评论 -
jmeter中获取当前周的日期
1.测试计划中添加jar包2、数据库配置获取当前周周一日期select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 0 DAY) ; 获取当前周周日日期select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) - 6 DAY) ; ...原创 2020-06-01 09:13:07 · 1215 阅读 · 0 评论 -
jmeter中json提取器的妙用
有时我们想通过接口响应数据中的默写条件进行提取对应的字段,这时,就可以用到json条件提取,可以提取对应的值进行使用或迭代。接口请求地址:sh.lianjia.com/api/newhouserecommend?type=1&query=https%3A%2F%2Fsh.lianjia.com%2Fershoufang%2F%3Futm_source%3Dbaidu%26utm_medium%3Dpinzhuan%26utm_term%3Dbiaoti%26utm_content%3Dbia原创 2020-05-29 17:28:43 · 3967 阅读 · 0 评论 -
jmeter cookie处理方式
当我们遇到需要cookie信息的时候,我们要怎么处理他的请求?比如下图的充值就需要cookie去获取信息的对待这种需要cookie来获取数据的接口在jmeter里面有两种1.直接添加 cookie管理器1.1 线程组 - 添加 - 配置元件 - HTTP Cookie管理器1.2 然后我们来运行看一看,充值成功。这是最简单的方法2.正则表达式2.1我们先找到cookie信息,这一节cookie我们要怎么取出来然后放到充值接口里面去呢?2.2在登录接口里添加正则表达式提取原创 2020-05-11 17:10:55 · 429 阅读 · 0 评论 -
Jmeter压力测试报告案例
Jmeter压力测试报告案例《xxxxxx》监测服务压力测试报告文档修订记录 版本号 日期 修改人 摘要 V1.0 2019年8月14日 xxx 初稿 ...原创 2020-05-07 11:22:36 · 1707 阅读 · 0 评论 -
jmeter中使用命令自动生成html测试报告、测试报告分析及配置测试报告
一、jmeter中使用命令生成测试报告JMeter虽不像Loadrunner那样,提供了强大的图表分析功能,但是jmeter(必须是jmeter3.0以上版本)中同样提供了自动生成html测试报告的方法,使用如下命令:命令:jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report fold...转载 2020-05-07 11:15:12 · 1170 阅读 · 0 评论 -
jmeter中一次运行多条sql语句配置
操作比较简单,主要就分两步:第一步:在JDBC Connection Configuration中设置,主要见下图标注部分增加:?allowMultiQueries=true(注意空格)第二步:在JDBC Request中设置注意:Quer Type一定要选择 Callable statement,使用Callablestatement时,一次可以包含多个SQL,但非结尾的SQ...原创 2020-02-14 10:22:27 · 677 阅读 · 0 评论 -
jmeter上传文件&下载文件
jmeter上传文件&下载文件一、上传/下载的过程。 上传的过程就是你把你本地的文件,扔到服务器上的这么一个过程。 下载呢,就是把服务器上的文件拿过来,然后存到你本地的这么一个过程。 总结一下呢,上传就是你给服务器一文件,下载呢就是你从服务器上拿一文件。二、jmeter做上传的脚本。 咱们先把这个过程了解了之后就开始做...转载 2020-02-13 16:27:53 · 384 阅读 · 0 评论 -
jmeter添加全局变量,跨线程组传递参数
1、获取返回结果中的值,设置为变量2、在该请求下,添加BeanShell PostProcessor插件,使用__setProperty函数,将之前的变量转换成全局变量3、在另一个线程组中引用该变量。使用${__P{}}函数4、这种引用关系存在执行的先后顺序,需要在测试计划中设置执行完一个之后,再执行另一个beanShell的用法参考 https://ww...原创 2020-02-13 15:09:59 · 288 阅读 · 0 评论 -
JMeter处理返回结果unicode转码为中文
问题举例:{"ServerCode":"200","ServerMsg":"\u6210\u529f","data":[]}解决操作步骤 :第一步:修改Jmeter根目录下的jmeter.properties文件,把编码格式改为utf-8 在bin目录下;查找到字段:csvdataset.file.encoding_list=UTF-8|UTF-16|ISO-88...转载 2020-02-11 12:12:30 · 1957 阅读 · 0 评论 -
jmeter http代理录制脚本及排除模式的使用
1、选中HTTP代理服务器2、添加线程组3、打开firefox,设置手动设置代理,点击确定,不要退出浏览器。注意:1.端口号不能被占用2.没有firefox,Google Chrome ,ie也可以4、添加录制控制器5、端口和浏览器的一致,目标控制器选择你添加的控制器6、在排除模式中点击添加 .*\.(js|css|PNG|jpg|ico|png|gif)...转载 2020-02-10 09:55:47 · 2264 阅读 · 0 评论 -
JMeter怎样测试WebSocket
一、安装WebSocket取样器1、从JMeter插件管理器官网下载:https://jmeter-plugins.org/把这6个jar包放到C:\JMeter\apache-jmeter-3.3\lib\ext目录下2、从github下载:https://github.com/maciejzaleski/JMeter-WebSocketSample...转载 2019-12-23 11:39:36 · 375 阅读 · 0 评论 -
Jmeter 怎样只用登陆一次(所有线程中使用同一个登陆后的token)
一、beanshell自带方法props.put("变量名","值"); //全局变量赋值props.get("变量名") ; //获取全局变量二、jmeter自带函数__setProperty${__setProperty(变量名,值})}; //全局变量赋值${__property(变量名)}; //全局变量提取${__P(变量名)}; //基本等同...原创 2019-11-26 14:01:49 · 1351 阅读 · 0 评论 -
Jmeter如何把响应数据的结果保存到本地的一个文件
当做性能压测时,可能会需要把响应数据的一些字段统计出来。这里简单介绍一下。1、首先把接口调通,确定需要统计的字段,这里以统计ccmpSeq字段来做例子。2、添加正则表达式提取器,用来提取响应结果中的ccmpSeq正则表达式用""包起来,如HTTP请求完成后的响应数据{"ccmpSeq":"CBS_queryBalance20171023131825491...原创 2019-11-26 10:42:32 · 2023 阅读 · 0 评论 -
JMeter:时间函数之__time
__time : 获取时间戳、格式化时间在接口测试时,在传入参数需要为时间戳或者是日期格式的数据。或需要把时间戳转换成日期格式,作为新的参数传递给下一个接口使用。如下图针对此问题,可以使用JMeter自带的_time 函数来解决以上问题。1、如果参数为时间戳,那公式为:${__time(,)} : 默认该公式精确到毫秒级别, 13位数${__time(/1000,...转载 2019-02-27 10:58:46 · 653 阅读 · 0 评论 -
Jmeter获取当前时间进行时间段加减操作
import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date; try{ Date date =new Date(); //获取当前时间 SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); Strin...转载 2019-02-27 10:57:58 · 2658 阅读 · 0 评论 -
JMETER 分布式部署
①Jmeter 是java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误。为了让jmeter工具提供更大的负载能力,jmeter短小精悍一有了使用多台机器同时产生负载的机制。 那么,是如何实现多台负载机同时运行的呢?当然不会多个人坐在多台负载机面前,一喊开始,大家同时启动jmeter...转载 2019-02-24 20:56:18 · 192 阅读 · 0 评论 -
JMETER详解
Jmeter简介 Jmeter的基本概念 百度百科: Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、...转载 2019-02-24 20:34:42 · 498 阅读 · 0 评论 -
使用步长插件来设置负载场景
本文要介绍的是在JMeter中如何设置负载压力场景中的用户的进入和退出设置,也就是步伐(Pacing或者Stepping)的设置。什么是实际的性能测试1)有思考时间,用户在做不同操作之间有时间停顿,或者延迟,思考时间就是模拟用户的操作过程中的停顿的间。2)步伐,速度:主要包括,大量用户进来的时间和退出时间,控制迭代之间的时间,例如,前面文章介绍的一个现场用户20个,设置5秒内全部进入...转载 2019-02-23 12:06:39 · 227 阅读 · 0 评论 -
Jmeter 解决unable to access ApacheJMeter.jar的问题
1、问题安装了Jmeter后,启动jmeter.bat,无法正常启动,出现下面提示:Error: Unable to access jarfile ApacheJMeter.jar errorlevel=12、原因是下载了src包中,在bin目录下并没有ApacheJMeter.jar文件3、解决应在官网http://jmeter.apache.org/download_jm...转载 2019-02-22 09:38:43 · 1550 阅读 · 0 评论 -
命令行输入Jmeter提示不是内部或外部命令,处理方式:添加环境变量
cd C:\Users\Administrator\Desktopjmeter -n -t C:\Users\Administrator\Desktop\test.jmx -l C:\Users\Administrator\Desktop\html.csv -e -o C:\Users\Administrator\Desktop\HttpReports命令行输入Jmeter提示不是内部或外部...转载 2019-02-21 20:47:47 · 5600 阅读 · 0 评论 -
JMETER-JDBC测试计划-连接Oracle
一.测试环境准备 Oracle:10g JDBC驱动:classes12.jar oracle安装目录下(oracle\product\10.2.0\db_1\jdbc\lib\classes12.jar)文件复制到JMeter/lib目录下 JMeter:jmeter-2.11 二.设计...转载 2019-02-27 11:15:18 · 937 阅读 · 0 评论 -
JMeter函数
JMeter函数是一些能够转化在测试树中取样器或者其他配置元件的域的特殊值。一个函数的调用就像这样:${_functionName(var1,var2,var3)},-functionName匹配函数名,圆括号内设置函数的参数,例如${_time(YMD)}实际参数因函数而不同。不需要参数的函数使圆括号内为空,例如${_theadNum}.Jmeter函数有两种函数:自定义静态值(或者变量)和...转载 2019-02-27 13:48:53 · 1905 阅读 · 1 评论 -
Jmeter如何监控服务器CPU、内存、i/o等资源
一、要准备好的插件:JMeterPlugins-Standard-1.4.0(pwd:cjqd)、ServerAgent-2.2.1(pwd:pxui);二、解压JMeterPlugins-Standard-1.4.0.zip,将其中\lib\ext\JMeterPlugins-Standard.jar包复制到jmeter安装目录下的\lib\ext下;三、重启jmeter,选...转载 2019-04-03 11:50:22 · 285 阅读 · 0 评论 -
jmeter测试mysql数据库之JDBC请求
所有jmeter基本组件功能本文不做介绍。jmeter要链接mysql数据库,首先得下载mysql jdbc驱动包(注:驱动包的版本一定要与你数据库的版本匹配,驱动版本低于mysql版本有可能会导致连接失败报错)我这里下载的是mysql-connector-java-5.1.7-bin.jar1.准备好驱动包后,需要把jdbc驱动jar包引入测试计划。操作步骤如下图:点击测试计划-->...转载 2019-04-17 15:41:25 · 124 阅读 · 0 评论 -
JMeter报错the target server failed to respond--JMeter的坑
一、问题:1、在测试某个http场景时,尤其是设置波动TPS时,出现了报错,是必现错误(压力平稳时却是偶发错误,甚至很少能看到);每次必现错误(开始一直怀疑是网络或程序的问题)2、失败事务报错信息如下,我遇到的是下面的那种Socket closedNon HTTP response code: org.apache.http.NoHttpResponseExcepti...转载 2019-04-29 17:40:28 · 2544 阅读 · 0 评论 -
JMeter 中_time 函数的使用(时间戳、当前时间)
有时在接口测试时,其参数需要为时间戳或者是日期格式的数据。针对此问题,可以使用JMeter自带的_time 函数来解决以上问题操作步骤:1、通过函数助手,生成一个_time 函数:2、如果参数为时间戳,那公式为:${__time(,)}:默认该公式精确到毫秒级别, 13位数${__time(/1000,)}: 该公式精确到秒级别, 10位数...转载 2019-05-06 10:38:50 · 1287 阅读 · 0 评论