jmeter
蜀山客e
这个作者很懒,什么都没留下…
展开
-
【JMeter】---HTTP压测
一、创建线程组右击–>添加–>Threads(Users)–>线程组下面对比较重要的几个参数,讲解下:名称: 就是给你这个线程组起名字。线程数:指压力测试时候模拟几个用户测试接口。Ramp-Up:这里指几秒运行完上面的模拟用户数。循环次数:指循环几次线程数。总的理解下:上面的意思是2秒内模拟5个用户请求API,循环2次。二、添加HTTP在线程组上右击–>添加–>Sampler–>HTTP请求@RequestMapping(value = "users原创 2020-12-05 13:49:30 · 456 阅读 · 0 评论 -
JMeter---MySQL压测
一、添加MySQL驱动jar包在测试计划(Test Plan)页面添加jar包二、添加MySQL连接配置添加线程组右击–>添加(add)–>配置元件(config element)–>JDBC connection configuration核心配置 variable name for created pool(已创建池的变量名称) Max Number of connections : 最大连接数 MAX wait :最大等待时间 Auto Commit: 是否自原创 2020-12-04 14:22:12 · 267 阅读 · 0 评论 -
性能测试-JMeter资源监控插件PerfMon的使用
1、插件下载首先下载jmeter的插件管理工具,下载地址:jmeter-plugins.org如英文说明,把下载后的jar包放到jmeter的安装目录lib/ext文件夹下,重启jmeter,就会在jmeter的GUI上看到已经安装好的插件管理工具Plugins Manager。使用Plugins Manager安装PerfMon插件(我这个是已经安装好的,没有安装时,在Available Plugins中搜索安装)2、使用PerfMon插件2.1、监听器中添加PerfMon插件2.2、添原创 2020-11-28 13:35:43 · 559 阅读 · 0 评论 -
性能测试-JMeter内存溢出
一、问题原因用JMeter压测,有时候当模拟并发请求较大或者脚本运行时间较长时,JMeter会停止,报OOM(内存溢出)错误。原因是JMeter是一个纯Java开发的工具,内存由java虚拟机JVM管理,当内存回收不及时,堆内存不足时,就会报内存溢错误。概念补充:内存泄露:应用使用资源之后没有及时释放,导致应用内存中持有了不需要的资源。内存溢出:应用的内存已经不能满足正常使用了,堆栈已经达到系统设置的最大值,进而导致崩溃。通常都是由于内存泄露导致堆栈内存不断增大,从而引发内存溢出。对JMete原创 2020-11-28 13:16:07 · 927 阅读 · 1 评论 -
性能测试-JMeter处理form-data类型的接口
最近的需求中,有的接口入参是form-data类型的,除了用python多进程代码进行压测,考虑用Jmeter试试看,比对一下结果。线程数设置的是50,循环次数为100,一共发送5000次请求。HTTP请求设置如下:如果有文件,在"Files Upload中"添加,MIME类型填入:application/octet-stream或者binary请求成功:希望本文对你有所帮助~~如果对软件测试、接口测试、自动化测试、面试经验交流感兴趣可以加入我们。642830685,免费领取最新软件测试大厂原创 2020-11-28 13:12:11 · 552 阅读 · 0 评论 -
Jmeter之数据库读取数据
以读取mysql数据库为例1.下载一个mysql驱动包,最好去mysql官网下载下载网址:https://dev.mysql.com/downloads/connector/j/Select Operating Systems:选择Platform independent然后选择zip包,点击Download。下载如下:对其进行解压,找到mysql-connector-java-8.0.17.jar文件(待定)2.导入mysql驱动包打开jmeter,新建一个测试计划,选中测试计划,点击浏览原创 2020-11-27 13:45:33 · 639 阅读 · 0 评论 -
jmeter之ip欺骗
准备工作:使用IP欺骗功能必须得本地有多个可用IP,通常普通的PC机只有一个物理网卡,这就需要我们手工设置多IP绑定同一网卡:a、开始菜单 -> 控制面板 -> 网络共享中心 -> 更改适配器设置 -> 本地链接b、右键本地链接 -> 属性,选择Internet 协议版本4(双击打开窗口),如果是采用自动获取IP,得通过手工设置IPc、在属性窗口中选择高级按钮,选择IP设置,点击添加,输入新的IP地址(须要注意在局域网内不要有IP冲突,可以事先ping一下找没有使用的.原创 2020-11-24 14:51:06 · 473 阅读 · 0 评论 -
jmeter之使用代理录制脚本
jmeter工作台中添加http代理服务器元件测试计划总添加线程组和http请求默认值,并设置服务器的IP和Port配置代理服务器配置浏览器(Firefox)的代理服务器打开火狐浏览器 —> 打开菜单 —> 选项—> 高级 —> 网络—> 设置:选择 手动配置代理,设置代理服务器为 本机 ,端口 8888(端口与jmeter代理服务器中设置保持一致)jmeter中启动代理服务器即可开始录制测试脚本按流程在测试网址中添加一个记录查看录制结果,录制的脚本中原创 2020-11-24 14:08:06 · 330 阅读 · 0 评论 -
JMeter处理form-data类型的接口
最近的需求中,有的接口入参是form-data类型的,除了用python多进程代码进行压测,考虑用Jmeter试试看,比对一下结果。线程数设置的是50,循环次数为100,一共发送5000次请求。HTTP请求设置如下:如果有文件,在"Files Upload中"添加,MIME类型填入:application/octet-stream或者binary请求成功:希望本文对你有所帮助~~如果对软件测试、接口测试、自动化测试、面试经验交流感兴趣可以加入我们。642830685,免费领取最新软件测试大原创 2020-11-19 14:09:10 · 706 阅读 · 0 评论 -
JMeter压测“java.net.SocketException: Socket closed”
报错详情:java.net.SocketException: Socket closedat java.net.SocketInputStream.socketRead0(Native Method)at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)at java.net.SocketInputStream.read(SocketInputStream.java:171)at java.net.SocketInp原创 2020-11-19 14:05:59 · 1216 阅读 · 0 评论 -
性能测试之JMeter命令行执行+生成HTML报告
1、为什么用命令行模式使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死;所以一般采用的方式是在GUI模式下调整测试脚本,再用命令行模式执行;命令行方式支持在多个环境下使用,windosw的dos环境下,也可以在linux环境上执行。注意:使用命令执行jmeter脚本必须使用jmeter 3.0及以上版本。2、怎么用2.1、执行命令jmeter -n -t <testplan filename> -l <listener fil原创 2020-11-18 15:14:44 · 1878 阅读 · 0 评论 -
JMeter内存溢出
一、问题原因用JMeter压测,有时候当模拟并发请求较大或者脚本运行时间较长时,JMeter会停止,报OOM(内存溢出)错误。原因是JMeter是一个纯Java开发的工具,内存由java虚拟机JVM管理,当内存回收不及时,堆内存不足时,就会报内存溢错误。概念补充:内存泄露:应用使用资源之后没有及时释放,导致应用内存中持有了不需要的资源。内存溢出:应用的内存已经不能满足正常使用了,堆栈已经达到系统设置的最大值,进而导致崩溃。通常都是由于内存泄露导致堆栈内存不断增大,从而引发内存溢出。对JMete原创 2020-11-18 14:57:27 · 726 阅读 · 0 评论 -
性能测试之JMeter分布式压测
在使用Jmeter进行性能测试时,如果并发数比较大时候,单机受限内存、CPU、网络IO,会出现服务器压力还没有上去,压测服务器已经由于模拟的压力太大变的很卡甚至死机,这时可以使用Jmeter提供的分布式测试的功能。一、Jmeter分布式执行原理:1、Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)。2、执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,它应该是通过命令行模式执行的。原创 2020-11-18 14:54:06 · 505 阅读 · 0 评论 -
Jmeter-JSON提取器应用
在接口测试中有一个这样的场景:登录之后,需要进行昵称修改,怎么实现?首先我们分别看下登录、昵称修改的接口说明:以上业务中补充一点,昵称修改,还需要添加请求头Authorization传登录获取的token值。分析:登录之后的响应结果中会返回用户id、token信息; 而更新昵称需要传参member_id、且需要请求头传token;也就是我们要想办法从“登录”的响应结果中获取到id、token信息,再去传给“更新昵称”请求。因为返回数据格式是json,所以我们用JSON提取器来实现。用正则表达式提取器也原创 2020-11-17 13:41:30 · 196 阅读 · 0 评论 -
Jmeter-全局变量跨线程组使用
一、前言前面讲了如何使用正则表达式提取值,一般提取的值在同一个线程里,随意哪个请求都是可以引用的,那如果别的线程组也想引用怎么办呢?这时就涉及到一个全局变量的知识点了,话不多说,直接实例走起。二、实例演示1、在【登录】线程组的[统一登录]请求下,右键>添加>后置处理器>正则表达式,把统一登录成功后的响应结果里的token用正则表达式提取出来,引用名称是“token”。表达式规则写法为:“token”:"(.*?)" 2、在【登录】线程组,右键>添加>取样器>B原创 2020-11-17 13:30:27 · 452 阅读 · 0 评论 -
Jmeter-详解正则表达式
一、应用场景说明:在一个线程组中,B请求需要使用A请求返回的数据,也就是常说的关联,将上一个请求的响应结果作为下一个请求的参数,则需要对A请求的响应报文使用后置处理器,其中最方便最常用的就是正则表达式提取器了。1、实例一1)A请求响应结果:{“code”:“0”,“msg”:“OK”,“info”:{“token”:“eyJuYW1lIjoi5pu-6LC35bmzIiwic3lzdGVtIjoiVUxQIiwiZXhwaXJhdGlvbkRhdGUiOjE2MDUzNjQzOTN9.hrTSbOO原创 2020-11-17 13:25:37 · 1017 阅读 · 0 评论 -
性能测试之JMeter命令行执行+生成HTML报告
为什么用命令行模式使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死;所以一般采用的方式是在GUI模式下调整测试脚本,再用命令行模式执行;命令行方式支持在多个环境下使用,windosw的dos环境下,也可以在linux环境上执行。注意:使用命令执行jmeter脚本必须使用jmeter 3.0及以上版本。怎么用执行命令jmeter -n -t <testplan filename> -l <listener filename>原创 2020-11-16 14:59:20 · 315 阅读 · 0 评论 -
使用jMeter实现简单的web访问脚本录制功能
1.jMeter中添加代理服务器,设置代理服务器的端口(注意端口要空闲可用)、录制脚本保存位置、录制脚本的过滤项等2.设置浏览器代理。这里以firefox为例。firefox-选项-代理服务器。注意测试结束后,把浏览器代理设置还原,不然会无法上班3.添加一个测试计划–添加logic controler–Recording Controller存放录制生成的脚本4.启动录制,安装证书看完点赞 ~养成好习惯,以上内容希望对你有帮助,如果对软件测试、接口测试、自动化测试、面试经验交流感兴趣可以加原创 2020-10-20 13:53:37 · 218 阅读 · 0 评论 -
jMeter测试dubbo接口
一.测试环境搭建根据dubbo版本,下载jmeter-dubbo的jar包,放在lib/ext文件夹下二.zookeeper的测试方式1.创建线程组,添加dubbo请求。填写zookeeper地址,如果有多个,可以用;隔开2.get provider list获取所有的接口列表3.选择接口和对应的方法4.填写参数名称和值三.直连方式1.创建线程组,添加dubbo请求2.填写直连地址3.填写接口和方法名4.填写参数看完点赞 ~养成好习惯,以上内容希望对你有帮助,如果对软件测试、接口原创 2020-10-20 13:39:25 · 473 阅读 · 0 评论 -
Jmeter测试webservice接口
webServicewebservice是一种跨编程语言和跨操作系统平台的远程调用技术。服务端和客户端可用不同的编程语言编写,也可以在不同的操作系统上运行,应用程序可以通过web远程调用服务器暴露的接口,例如pos刷卡系统,pos机转账调用的方法实际上跑在银行服务器上。XML+XSD,SOAP和WSDLXML+XSDwebservice采用http协议传输数据,采用XML格式封装数据(调用的方法、传递的参数、服务器返回结果),也是webservice平台上表示数据的方式。XML schema定义了一原创 2020-10-20 13:22:25 · 498 阅读 · 0 评论 -
jMeter性能测试之stepping的实现
1.安装插件2.testplan-threads-jpgc stepping group,设置相关参数3.以访问百度为例,进行一个简单的实践看完点赞 ~养成好习惯,以上内容希望对你有帮助,如果对软件测试、接口测试、自动化测试、面试经验交流感兴趣可以加入我们。642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。...原创 2020-10-19 14:45:19 · 538 阅读 · 0 评论 -
jMeter性能测试之思考时间
1.添加一个线程组2.为线程组添加一个logic controller-sampler controller3.添加http请求,这里使用了baidu.com和news.baidu.com,进行测试4.添加思考时间timer-constant,设置思考时间为5000ms.这里其实在需要等待的请求里加定时器即可,“百度首页”的定时器可以去掉,实测不影响等待时间5.添加listener result view table,运行拓展1.高斯定时器延时时间接近正态分布2.Synchronizi.原创 2020-10-19 13:52:02 · 3195 阅读 · 0 评论 -
jMeter之连接数据库MySQL
一、连接数据库1.准备环境下载mysql-connector的jar包放到jMeter的lib文件夹下。创建好我的测试数库students,table students,ID自增2.添加测试计划-线程组–config element-jdbc connection Configurationconnection pool configiontdatabase URL:jdbc:mysql://域名:端口/数据库?参数max number of connection:数据库最大连接数max原创 2020-10-19 13:38:36 · 313 阅读 · 0 评论 -
jMeter测试,jason Ectractor和正则表达式获取数组类型
返回的数据jason Extractor获取数组类型数据a.获取指定某个值。这时返回的值只有一个,files[0]:指定获取的数据下标。0 for random:-1指的是所有,0是指随机获取一个。获取指定个值。设置数组下标范围,参考list的切片。如果下标设置为0,则只随机拿到一个(其他正数,则指定的某个),如果设置为-1,则拿到所有的fileId获取所有值正则表达式获取数组类型数据常用的正则表达式元字符:\d 整数\S非空白字符,等价于[^\f\n\r\t\v]\s 任何空白字符原创 2020-10-19 13:15:03 · 234 阅读 · 0 评论 -
Jmeter分布式部署
本文内容:1、windows下负载机的配置2、Linux下负载机的配置一、windows下负载机的配置(执行机)1、在执行机上安装相同版本的JDk和Jmeter(参考调度机的安装)注意:JDK和Jmeter都要配置环境变量Jmeter 环境变量的配置:在系统环境变量中添加:JMETER_HOMEC:\jmeter\apache-jmeter-5.1\bin在path系统变量中添加如下配置:%JMETER_HOME%\bin;2、在执行机上自定义端口号1、进入Jmeter的bin目原创 2020-10-14 13:30:21 · 172 阅读 · 0 评论 -
JMeter多脚本间的启动延时
JMeter做压测时,当需要多个jmx脚本依次执行时,需要用到“启动延时”,即间隔可设置的时间后启动运行下一个jmx脚本。实现“启动延时”的方法有2个。方法一、利用JMeter线程组中的"Startup delay"参数如上图,调度器(Scheduler)中有2个参数,持续时间(Duration)和启动延时(Startup delay),Duration用的比较多,可以限定测试的持续时间。当jmx脚本不止1个时,如果需要所有jmx脚本都依次执行就需要用到Startup delay了。Startu原创 2020-10-08 13:36:43 · 1548 阅读 · 0 评论 -
高级测试人必须了解的JMeter分布式压测
在使用Jmeter进行性能测试时,如果并发数比较大时候,单机受限内存、CPU、网络IO,会出现服务器压力还没有上去,压测服务器已经由于模拟的压力太大变的很卡甚至死机,这时可以使用Jmeter提供的分布式测试的功能。一、Jmeter分布式执行原理:1、Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)。2、执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,它应该是通过命令行模式执行的。原创 2020-10-07 13:35:20 · 1210 阅读 · 0 评论 -
详解JMeter命令行执行+生成HTML报告
为什么用命令行模式使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死;所以一般采用的方式是在GUI模式下调整测试脚本,再用命令行模式执行;命令行方式支持在多个环境下使用,windosw的dos环境下,也可以在linux环境上执行。注意:使用命令执行jmeter脚本必须使用jmeter 3.0及以上版本。怎么用执行命令jmeter -n -t <testplan filename> -l <listener filename>原创 2020-09-30 10:35:43 · 1367 阅读 · 0 评论 -
JMeter之Http协议接口性能测试
一.不同角色眼中的接口开发人员眼中的接口测试人员眼中的接口二.Http协议基本介绍Http协议栈中的位置Http协议响应码Http协议请求响应模型常用Http请求方式三.JMeter的get请求介绍及使用JMeter功能介绍JMeter的应用领域:1.Browser架构应用的性能2.Http协议接口功能与性能3.FTP协议接口功能与性能4.Mysql数据库性能5.MongoDB数据库性能6.支持自定义java组件开发g原创 2020-09-28 16:16:01 · 198 阅读 · 0 评论 -
jmeter笔记:通过jython调用python脚本
说明说明在jmeter中如何调用python脚本。jmeter版本:5.2.1操作系统:WINDOWS步骤:1、下载jython-standaloneXXX.JAR2、放到jmeter 的lib文件夹下。3、重启jmeter4、添加JSR223 Sampler (路径:Thread Group >Sampler>JSR223 Sampler)5、编写python脚本调用python脚本1 #希尔排序 2 def shellSort(A): 3 k = len(原创 2020-09-26 14:11:40 · 1893 阅读 · 1 评论 -
Jmeter4.0 _Beanshell解析并获取json响应数据数组长度
我们在做jmeter接口测试的时候,有时候碰到开发没返回数据total,只返回了一条条记录,可是呢,我们又需要知道到底返回了多少条数据时,咋办呢?不要急,接下来,让我们见证奇迹是如何诞生的!!!可能有人在网上看到很多关于解析json返回数据的文章,看来看去都是一样的,于是乎,我亲测了一下,果然没用!!!(可能是本人技术太渣,无法领悟其中的真髓)没办法,只能看log信息一次次试咯!终于在各种大佬的帮助下搞好了!第一步:将fastjson-1.2.62.jar包置于jmeter的lib目录下,并将该jar原创 2020-09-14 14:08:12 · 1647 阅读 · 0 评论 -
jenkins+ant+jmeter接口自动化的持续集成
一、jmeter、jenkins安装二、ant安装下载后,将其解压然后配置环境变量,有二个地方1、系统变量新增ant_home2、path下新增ant的bin目录配置完成后,检查是否安装完成,在cmd下输入ant或者ant -version,显示如下,表示成功三、环境配置1、把文件夹jmeter的extras目录下的ant-jmeter-1.1.1.jar复制到ant文件夹的lib目录下2、xsl模板下载下载完成后,复制到文件夹jmeter的extras目录下四、脚本规划原创 2020-09-14 13:57:38 · 232 阅读 · 1 评论 -
Jmeter-集合点与关联
1、集合点添加同步定时器(Synchronizing Timer)注意:集合点需要放在需要集合的元件前面2、关联预先使用Badboy录制WebTours登录脚本在登录前插入一个监听器:察看结果树会生成userSession需要对userSession进行关联使用正则表达式提取器进行关联(webTours的关联要在in=home设置)引用名称:下一个请求要引用的参数名称,如填写activityID,则可用${activityID}引用它关联的正则表达式:name=“userSession原创 2020-09-12 13:54:18 · 159 阅读 · 0 评论 -
如何在Jmeter 中 CSV 参数化测试数据并实现自动断言
当我们使用Jmeter工具进行接口测试,可利用CSV Data Set Config配置元件,对测试数据进行参数化,循环读取csv文档中每一行测试用例数据,来实现接口自动化。此种情况下,很多测试工程师只会人工地查看响应结果来判断用例是否通过。其实我们同样可利用CSV Data Set Config来帮助我们实现自动断言。思路:将每一条用例的预期结果一并保存在csv文档中,循环读取文档中的期望结果,来跟实际运行的结果进行一致性判断,高效实现接口自动化。示例:1、整理测试数据及预期结果的CSV文档比如原创 2020-09-05 13:39:44 · 808 阅读 · 0 评论 -
查看结果树之查看响应的13种方法-Jmeter
查看结果树查看响应有哪几种方法,可通过左侧面板底部的下拉框选择1、Text查看结果树中请求的默认格式为text,会显示请求的取样器结果、请求、响应数据3个部分内容。取样器结果: 默认Raw视图,可以切换为Parsed视图,表单显示更直观。请求:默认Raw视图下,Restquest Body 及Restquest Headers两部分。HTTP显示更直观。输入信息查找,还可以设置区分大小写、正则表达式。响应数据: 显示Response Body 及Response Headers两部分内容。当数据原创 2020-09-05 13:27:16 · 391 阅读 · 0 评论