
JMeter
JMeter工具类、压测相关等
仰望_1
往下扎根、向上结果~~测试开发、性能测试
展开
-
【JMeter】JMeter连OceanBase数据库
2、将下载下来的jar包放到jmeter安装目录的 lib 目录下,或者打开JMeter客户端,在测试计划中引入jar包。原创 2024-01-17 20:21:19 · 1145 阅读 · 0 评论 -
【JMeter】JMeter压测过程中遇到Non HTTP response code错误解决方案
3、修改tcp/ip协议配置, 通过配置/proc/sys/net/ipv4/tcp_tw_resue, 默认为0, 修改为1, 释放TIME_WAIT端口给新连接使用。3. 修改tcp/ip协议配置,快速回收socket资源, 默认为0, 修改为1.(这个根据系统来设置,可能有的系统没有这个文件)压测过程中并发逐步加大后遇到60%的错误率,查看错误是JMeter网页版聚合报告中显示。2、调低端口释放后的等待时间, 默认为60s, 修改为15~30s。这是第二次遇到,故把解决方案记录下来,供大家参考。原创 2023-11-15 09:52:36 · 3623 阅读 · 0 评论 -
【Jmeter】ForEach控制器
名称ForEach控制器组件的自定义名称,按自己喜好而定,可默认不改注释:添加一些备注信息,对该ForEach控制器组件的简短说明,可默认为空。输入变量前缀:需要遍历的这一组数据的前缀,例如:customer_1、customer_2,则customer是前缀。开始循环字段(不包含):循环的起始位置,如填0,实际是从第一个开始。默认为空也可结束循环字段(含):循环结束的位置,如填4,实际第4个不会被使用,只会到第3个。默认为空也可以,程序会循环执行到最后一个变量,再停止。原创 2023-02-23 15:01:19 · 1972 阅读 · 0 评论 -
【JMeter】【Mac】如何在Mac上打开JMeter
平常我们在Windows电脑里打开JMeter,只要双击JMeter.bat即可打开,那我换了Mac后,该怎么打开JMeter呢1、打开JMeter路径2、运行JMetersh jmeter3、如果涉及到一些权限无法保存的情况下,运行如下命令。原创 2023-02-16 15:38:51 · 7284 阅读 · 1 评论 -
怎么用JMeter写性能测试脚本
JMeter 可能是应用最广泛的性能测试工具。怎么用 JMeter 编写性能测试脚本?我们一般写代码,都会有代码规范,比如写java有java规范,写python有python开发规范,做测试也有测试规范,那我们写JMeter也有JMeter的脚本原则,那JMeter脚本的制作原则有哪些呢?比较推荐的规范是:遵循这些规则可以让我们养成良好的习惯,避免不必要的错误。HTTP 请求各项信息说明(以 JMeter 5.1 为例)。如下图所示:填好以上这些选项后,HTTP 单接口就准备的差不多了,这里给 GET、P原创 2022-12-06 09:26:11 · 2538 阅读 · 0 评论 -
JMeter如何设置线程组
一个线程相当于一个虚拟用户,线程组顾名思义是多个线程的一个集合,是执行特定测试用例的用户池,是任何一个测试计划的开始点,它能使本线程组内的所有元件按照设定的测试用例来执行,故要执行性能测试的元件都必须在某个线程组下,否则没法控制。在线程组的GUI页面中,我们可以模拟用户线程数、启动所有线程所需时间、执行测试的次数,也可通过调度器来执行测试的循环时长、定时执行等。原创 2022-12-01 09:07:44 · 5078 阅读 · 0 评论 -
设置JMeter GUI界面默认为中文语言
【背景】最近有朋友反馈打开JMeter 5.0以上版本是英文界面,不习惯英文界面,需要中文界面,但每次都需要去设置,比较麻烦,这里给出一个方案,让你打开JMeter则是中文界面【操作步骤】1、打开jmeter目录下/bin/jmeter.porperties文件2、搜索language,找到后将language的注释#去掉,并将值变为zh_CN 3、保存后重新启动jmeter,这样每次打开就是中文了。......原创 2022-06-23 14:07:19 · 898 阅读 · 0 评论 -
Problem creating registry: java.rmi.server.ExportException: Listen failed on port: 1099; nested exce
在jmeter分布式压测过程中,发现slave机器启动失败了,查看错误内容如下Problem creating registry: java.rmi.server.ExportException: Listen failed on port: 1099; nested exception is: java.io.IOException: Could not bind to xxxx/xxxxx using port 1099Continuing...Server failed to原创 2022-05-24 09:32:34 · 712 阅读 · 0 评论 -
JMeter参数化
JMeter参数化虽然没有Loadrunner那么强大,但也有好几种方法,虽然我常用的都是使用函数助手,但为了方便大家更好的了解及使用JMeter各参数化方法,总结了以下两种方法,请大家根据实际情况在脚本中使用对应的参数化方法。一、使用函数助手参数化1、 点击菜单栏“选项”---->函数助手对话框2、先选择取值类型,一般CSVRead够用,偶尔能用到Random(随机),其他基本没用过,如果这两个都不能满足,可点帮助查看其他取值类型的用法;再填入文件路径和列值,文件第一列列值.原创 2022-05-13 18:01:50 · 1828 阅读 · 0 评论 -
JMeter-响应断言
响应断言就类似LoadRunner中的检查点。对上一个请求返回的信息,做字符串、数据包大小、HTML、XML、图片等做判断,确保返回的信息的准确性。一、添加响应断言1、某请求右键--添加—断言—响应断言2、在响应断言界面填入内容,各项说明见下文a、名称:默认为响应断言,可不修改b、Apply to:默认即可c、要测试的响应字段:要检查的项,默认响应文本,特殊需要再进行选择d、模式匹配规则默认为Substring,各项说明如下:包括:返回结果包..原创 2022-05-13 17:45:08 · 1506 阅读 · 0 评论 -
JMeter-正则表达式提取
一. 前言Jmeter工具的研究一直在继续,今天讲一下如何使用正则表达式提取器。正则表达式提取器一般是从接口返回数据或数据库返回数据中获取关联参数。二、使用正则表达式提取器1. 在任意节点右键—添加—后置处理器—正则表达式提取器2. 在正则表达式中填入相关内容,各项详细说明见下方内容1、名称: 正则表达式提取器命名2、注释: 对该正则表达式提取器的描述,可为空3、 Apply to: 默认即可4、要检查的响应字段: 主体等选择,一般我们选择主体,即..原创 2022-05-13 17:42:46 · 2532 阅读 · 0 评论 -
JMeter下载和安装
一、JMeter和JDK下载1、JMeter下载地址:http://jmeter.apache.org/download_jmeter.cgi2、JDK下载地址:https://www.oracle.com/technetwork/cn/java/javase/downloads/index.html请按需要的版本下载,JMeter 3.2以上版本需JDK1.8以上版本方能使用二、JDK+Jmeter安装1、windows安装(以win 7为例)1、 安装jdk、配置java环境变.原创 2022-05-13 17:07:22 · 40047 阅读 · 2 评论 -
Error generating the report: java.lang.NullPointerException
Starting standalone test @ Fri May 13 15:25:20 CST 2022 (1652426720508)Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445summary = 0 in 00:00:00 = ******/s Avg: 0 Min: 9223372036854775807 Max: -922337203685477580.原创 2022-05-13 15:47:16 · 3169 阅读 · 0 评论 -
Exception creating connection to: xx.xx.1xx.xx; nested exception is: java.io.FileNotFoundException
Exception creating connection to: xx.xx.1xx.xx; nested exception is: java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)Failed to configure xx.1xx.xxx.xx:1099Stopping remote enginesRemote engines have been stoppedError in Non.原创 2022-05-11 10:18:51 · 1743 阅读 · 0 评论 -
The JVM should have exited but did not.The following non-daemon threads are still running (DestroyJa
JMeter命令行执行时,出现错误 如下:The JVM should have exited but did not.The following non-daemon threads are still running (DestroyJavaVM is OK):问题原因:在执行时会在jmeter线程之外,另外启动java线程,导致在脚本执行结束时JVM无法退出解决方案:修改jmeter.properties中的jmeterengine.force.system.exit=false.原创 2022-04-25 17:40:53 · 372 阅读 · 0 评论 -
JMeter脚本调试经验
一、Content-Typecontent-type 有三种:1、Content-Type的值为application/x-www-form-urlencoded参数格式一般为key1=value1&key2=value2JMeter用Parameters表单传参2、Content-Type的值为application/json参数为json格式 { "key1":"value1", "key2":"value2"}JMeter 中用B原创 2022-03-10 14:40:24 · 361 阅读 · 0 评论 -
JMeter连接数据库的相关操作
一、加载JDBC驱动以Mysql数据库为例,数据库测试需要加载JDBC驱动1、先下载mysql-connector-java-5.1.26.jar2、打开JMeter,直接拷贝驱动jar包放到到jmeter安装目录的lib目录下或在jmeter中的测试计划中导入导入JDBC驱动二、连接数据库1、在线程组右键—添加—配置元件--“JDBC Connection Configuration”添加配置JDBC Connection Configuration2、配置原创 2022-03-10 14:37:28 · 16591 阅读 · 0 评论 -
JMeter如何提取cookie值
1、修改JMeter的bin目录下的jmeter.properties2、搜CookieManager.save.cookies3、把后面的值改为true,去掉行首的#号,保存该文件4、重启jmeter5、在线程组中添加一个Http Cookie管理器(管理器可以默认为空,但是一定要添加,否则是不会存储cookie变量的)6、执行线程之后,获取到的cookie就会被保存在线程变量里,具体的格式为COOKIE_xxxx,其中xxxx为具体的实际cookie名;这样在同一个线原创 2022-03-09 15:02:44 · 5446 阅读 · 0 评论 -
JMeter的HTTP请求中的自动重定向和跟随重定向
今天在准备课件的时候,想到自动重定向和跟随重定向的区别,因为也用的少,所以一直是忽略这个的,就是用JMeter默认的选项,现在来写下,供参考。自动重定向自动重定向可以自动跳转到最终目标页面,但由于JMeter不记录重定向过程内容,所以JMeter默认是不勾选的跟随重定向跟随重定向可以自动跳转到最终目标页面,JMeter记录重定向过程内容,所以JMeter默认是勾选的一般使用过程中,我们就用JMeter默认勾选的跟随重定向就好,如果用了自动重定向,可能会对调试脚本或压测时造成.原创 2022-03-09 10:36:39 · 3055 阅读 · 0 评论 -
JMeter中定时器test Action的用法
在性能测试过程中,需要某个请求结束后做个等待,相当于代码中的sleep,那JMeter中有没有这样的功能呢?答案是肯定的,JMeter中有个testAction功能是等待功能1、增加test action,如图(JMeter3.2版本为例)2、配置test Actiona、Target:可以选择当前线程和所有线程b、Action:是继续、停止、马上停止、下一个循环c、Duration:设定等待时间 ,单位是ms(毫秒)...原创 2022-03-08 14:35:03 · 1676 阅读 · 0 评论 -
JMeter录制脚本
一. Jmeter录制脚本以下操作以JMeter 3.2版本进行,其他版本操作步骤差不多1、创建一个线程组:右键点击“测试计划”--->“添加”---->“线程组”2、创建一个http代理服务器:右键点击“工作台”--->“添加”--->“非测试元件”--->“http代理服务器”3、设置代理服务器4、设置IE:IE--->“internet属性”--->“连接”--->“局域网设置”5、设置目标控制器为【测试计划>线程组】、分组原创 2022-03-07 17:40:45 · 11314 阅读 · 0 评论 -
JMeter-线程组设置
版本以5.2为参考,其他版本内容基本相同,略有差异,但功能一致。一、新增线程组新增线程组二、线程组界面配置详解线程组界面名称:定义线程组名称,若只有一个线程组,默认即可。注释:描述线程组注释,可为空在取样器错误后要执行的动作:取样器发生错误要执行哪个动作,包含继续、启动下一进程循环、停止线程、停止测试、立即停止测试五个动作继续:取样器发生错误,忽略错误 继续执行,默认选项启动下一进程循环:取样器发生错误,忽略错误 停止当前线程循环,执行下一个循环停止线程:当前线程原创 2022-02-23 15:07:19 · 8266 阅读 · 0 评论 -
JMeter压测文件上传接口
测试前我们要准备以下内容,请根据实际情况填写,例如:服务器地址:localhost端口号:8088文件上传接口请求类型:post接口地址:/file/upload参数名称:file本地文件路径:D:\Downloads\Banner.jmx步骤:1、添加http请求添加http请求2、配置文件上传接口去请求文件上传接口请求配置说明:文件名称:要上传的文件路径名称参数名称:这个是接口中定义的请求参数名称,如果你不知道请求参数名称请咨询开发人员MIME类型原创 2022-02-23 09:46:29 · 1282 阅读 · 0 评论 -
线程组和setUP线程组、tearDown线程组的区别
区别setUP线程组在测试任务ThreadGroup 运行前先被运行。通常用在运行测试任务前,做初始化工作。例如建立数据库连接初始分化工作tearDown线程组在测试任务线程组运行结束后被运行。通常用来做清理测试脏数据、登出、关闭资源等工作。例如关闭数据库连接。线程组 执行核心任务相同点界面及内容相同...原创 2022-02-18 13:59:44 · 1839 阅读 · 0 评论 -
JMeter 分布式压测
一. 背景在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持4000并发),单台压测机的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能二. 原理1、Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)。2、执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的。3、执行完成后,slav原创 2022-02-17 15:12:42 · 1987 阅读 · 1 评论