jmeter
baidu_17201253
这个作者很懒,什么都没留下…
展开
-
Jmeter文件下载data:application/vnd.ms-excel;base64
背景:Jmeter测试下载接口时,返回的结果是base64加密的,不知道有没有什么办法可以直接请求,最后想到保存响应文件。下载文件的话就打开这个JSON文件,手动把这个data内容复制到浏览器下载。接口返回的下载文件没有URL,而是base64。填写文件名称前缀(这里好像不能设置二级路径)添加监听器:保存响应到文件。执行后保存的文件如下图。我这里勾选了添加时间。原创 2023-05-30 14:52:34 · 454 阅读 · 0 评论 -
Jmeter的JSON断言
JSON断言是测试工作中经常用到的一种断言方法,一般用于断言某个字段值是否等于我们指定的值。所以JSON断言只能针对响应结果为applicaton/json格式的进行断言操作。①Assert JSON Path exists:填写jsonpath表达式,获取响应结果中节点的实际值。红色表示断言失败,并可以查看断言报错信息。断言失败,显示请求名称和断言报错信息;断言通过,只显示请求名称。3、添加断言结果和添加察看结果树;1、http请求下添加JSON断言。2、JSON断言页面说明。5、启动运行察看结果树。原创 2023-05-25 11:34:00 · 905 阅读 · 0 评论 -
Jmeter响应断言
◆ 或者:复选框项, 如果不想用AND连接(所有的模式都必须匹配,断言才算成功),用OR选项可以用于将多个断言模式进行OR连接(只要一个模式匹配,断言就是成功的)Document (text):文档(文本),通过Apache Tika从各种类型的文档中,提取文本进行验证,包括响应文本,pdf、word等等各种格式文本。◆ 子字符串(Substring):返回结果包含指定的字符串,不需完全匹配,但大小写敏感,则为True,不支持正则表达式。响应文本:请求的响应文本信息,不包含响应头信息,最常用的断言字段。原创 2023-05-19 17:10:03 · 1078 阅读 · 0 评论 -
Jmeter参数为数组,请求返回数据为空的解决办法
背景:同样的参数,在postman和其他工具发起请求能返回正确的数据,在jmeter请求成功,但是返回的数据却为空。内容编码设置为utf-8之后,再发起请求,返回结果就正常了。原创 2023-05-18 16:18:18 · 691 阅读 · 0 评论 -
jmeter上传Excel文件详细教程
不要有中文,最后不要漏了斜杠(复制系统的路径时,是没有最后的斜杆,这里很容易出差);②文件上传:文件名称引用(由路径和名称拼成);MIME类型根据实际情况填写。改成你自己放文件的路径;1、添加→配置元件→用户定义的变量。定义文件的路径、文件的名称。背景:通过接口批量导入数据。①参数的文件值可以随意填写。2、http参数设置。原创 2023-05-18 14:58:56 · 1091 阅读 · 0 评论 -
jmeter引用自定义参数
1、添加前置处理器BeanShell预处理程序。原创 2023-05-18 14:03:45 · 61 阅读 · 0 评论 -
jmeter获取登录接口的token用于下一个接口
2、其他接口引用变量(这里的举例接口token是在信息头引用)1、在登录接口下添加后置处理器的。变量的引用需用${}原创 2023-05-17 13:38:24 · 584 阅读 · 0 评论 -
jmeter监控CPU、内存等不需要安装插件的方法
只需jmeter的运行环境配置好,不需要安装jmeter插件就可以监控CPU和内存。键盘win+R,打开运行窗口,输入cmd:然后在出现的命令行界面输入“jconsole”,回车弹出窗口:java监视和管理控制台,如下图。本地进程:并点击一下sun.tools.jconsole.JConsole这一行,然后点击连接,就可以查看我们的内存和CPU的使用情况。远程进程:在文本框中输入我们需要测试的服务器的IP地址:端口,然后在下面输入用户名和密码,点击连接。...原创 2021-08-17 15:41:16 · 376 阅读 · 0 评论 -
jmeter压力测试指标分析-错误率(异常)
错误率:错误率和服务的具体实现有关。通常情况下,由于网络超时等外部原因造成的错误比例不应超过5%,由于服务本身导致的错误率不应超过1% 。原创 2021-08-16 18:42:53 · 7701 阅读 · 1 评论 -
jmeter压力测试报java.net.SocketException: Connection reset的解决办法
在压测的时候,运行一分钟后发现异常特别的高,一直以为是接口有问题,后来把查看结果树放出来,查看到是报java.net.SocketException: Connection reset的错。原来是工具问题。解决办法: 新建txt,保存以下脚本修改后缀为reg文件,编辑值如下,保存后双击执行;重启电脑,再次压测即不会出现报错。 解析中值为10进制,下方脚本已全转换为16进制。 Windows Registry Editor Version 5.00 [HKEY_LOCAL_.原创 2021-08-13 16:56:01 · 6937 阅读 · 3 评论 -
jmeter压测报告参考模板
原创 2021-08-12 17:43:47 · 2077 阅读 · 0 评论 -
jmeter报错Required int parameter ‘id‘ is not present解决办法
在jmeter测试导出接口,报Required int parameter 'id' is not present原因:信息头不一致解决办法:在【HTTP信息头管理器】把Content-Type的值application/json;charset=UTF-8设置为application/x-www-form-urlencoded,如下图...原创 2021-05-13 15:33:14 · 2684 阅读 · 0 评论 -
Jmeter如何实现一个参数多个值?
场景:一个参数传多个值,如下图,在jmeter如何实现?解决办法:在postman多个值是用【,】分隔的,但是在jmeter分隔符要用【/】左斜杠,如下图运行结果:原创 2021-05-11 14:05:39 · 2224 阅读 · 0 评论 -
jmeter通过CSV批量创建数据表头处理
业务场景:通过CSV批量创建打卡数据。1、添加CSV数据文件设置(线程组→配置元件→CSV数据文件设置)2、文件没有标题行时:忽略首行(只在设置了变量名称后才生效)设置为False。3、文件有标题行时:忽略首行(只在设置了变量名称后才生效)设置为True。CSV比txt的好处:CSV可以批量拉取自增长。...原创 2021-04-20 17:48:21 · 270 阅读 · 0 评论 -
jmeter录制脚本
1、设置谷歌浏览器代理服务器打开谷歌浏览器→设置→高级→打开您计算机的代理设置;打开手动设置代理的→输入本机IP→填写端口。注意端口号要与Jmeter上的端口号一致,我的是88882、进入jmeter工具①创建一个线程组(右键点击“测试计划”--->“添加”---->“线程组”)②创建一个http代理服务器(右键点击“测试计划”--->“添加”--->“非测试元件”--->“http代理服务器”)③HTTP代理服务器设置:目标控制器:原创 2021-03-17 14:57:25 · 183 阅读 · 0 评论 -
jmeter测试MD5加密接口
1、线程组下添加前置处理器BeanShell 预处理程序import org.apache.commons.codec.digest.DigestUtils;// 导入MD5加密需要用到的jar包// 声明你需要拼接的字符串String key="XXX";String requestTime = "${__time(yyyyMMddHHmmss,)}";//生成时间String secret = "XXX";String version = "XXX";String serv.原创 2021-02-01 11:57:09 · 207 阅读 · 0 评论 -
仅一次控制器-jmeter压测需token但是不想多次登录
1、如果token不是实时的,可以把token写死,然后无需使用登录接口。2、如果要用到登录接口,但是只想对第二个接口发多次请求做压测,不需要每次都去执行登录,于是可以用到逻辑控制器-仅一次控制器。在线程组下面添加逻辑控制器-仅一次控制器:把登录接口放到仅一次控制器下线程组设置循环次数为10次运行后查看结果,如下图原文地址:https://www.cnblogs.com/yoyoketang/p/14170364.html。...原创 2021-01-29 10:48:11 · 758 阅读 · 0 评论 -
jmeter的json提取器提取数据
在接口测试中有一个这样的场景:登录之后,返回一个json数据,token值在返回的json里面,在jmeter里面也可以直接提取json里面的值,应用在下一个接口,怎么实现?登录请求:运行返回的token,添加后置处理器-Json提取器从返回的结果中提取token值下个请求头部需要用到上面的token值,在信息头管理器引用token参数 ${token}注意:①需要把第一个请求的的客户端实现用JAVA方式实现,才能正常的关联成功;②JSON Path expression原创 2021-01-27 17:50:41 · 7335 阅读 · 0 评论 -
Jmeter批量注册账号-计数器使用
用jmeter压测的时候,需要准备一批测试账号,可以先批量注册一些账号,这些账号按固定格式。注册的账号不能重复并且需要自增,那么可以使用计数器来实现。添加“添加账号”的请求我想批量注册10个账号,账号名称是FansP10到FansP19,先添加账号请求,调试通过后,添加计数器。计数器注册用户名称前面一部分FansP是固定不变的,变的是后面的数字10-19,于是添加配置元件-计数器计数器配置自增10-20开始(Starting value):给定计数器的起始值、初始值,第一次迭代原创 2021-01-27 11:24:50 · 984 阅读 · 0 评论 -
jmeter接口导出文件实例
通过接口测试导出,需添加后置处理器代码如下import java.io.*;byte[] result = prev.getResponseData(); //这个是获取请求返回的数据,prev是获取上个请求的返回String fileNameExport = "F:\\study\\FansP\\MemberDetail.xlsx";File file = new File(fileNameExport);FileOutputStream out = new FileOutpu原创 2021-01-25 18:50:23 · 1942 阅读 · 0 评论 -
jmeter三大运营商号段接口测试
三大运营商新号段,2021年1月,接口测试号段134、135、136、137、138、139、147、148、150、151、152、157、158、159、172、178、182、183、184、187130、131、132、145、146、155、156、166、167、171、175、176、185、186、196133、149、153、173、174、177、180、181、189、191、193、199162、165、167、170、171前提工作:把用到的号段放到记事本里面,原创 2021-01-25 17:10:23 · 389 阅读 · 0 评论 -
Jmeter获取上月时间
每月都要导入上月的数据,如何获取上月时间呢?1、添加前置处理器“BeanShell 预处理程序”,如下图2、代码如下import java.text.SimpleDateFormat;import java.util.Calendar; //导入jar包import java.util.Date;import java.util.GregorianCalendar;Calendar c = Calendar.getInstance();c.add(Calendar.MONT原创 2021-01-12 10:52:41 · 812 阅读 · 0 评论 -
Jmeter判断昨天所属月份的月头和月尾
用jmeter做接口导入文件测试,文件名称包含日期,需要动态判断昨天所在的月份,然后获取月头和月尾的日期。1、添加前置处理器BeanShell PreProcessor2、代码如下:注意①jmeter打印的语句是log.info();而不是System.out.println();②定义变量String的首字母要大写import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;原创 2020-12-28 14:46:53 · 289 阅读 · 0 评论 -
jmeter接口上传excel文件报错解决方法
使用jmeter测试上传Excel文件接口时出现过的一些情况:1、接口通过了,但是cookie格式返回有问题,少了引号或者多了反斜杠,如下图解决办法:不需要添加HTTP Cookie管理器2、HTTP信息头管理器中的Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryZ4GDuK56ksenTpty 因为content-type是动态获取的,所以不需要Content-Type这个参数...原创 2020-12-23 14:13:32 · 1585 阅读 · 0 评论 -
jmeter上一个接口返回的结果如何用于下一个接口?
jmeter上一个接口返回的结果如何用于下一个接口呢?这就涉及到Jmeter正则表达式提取器的应用,就不得不说到关联。所谓关联,就是把应用中动态变化返回的数据获取到,把它保存为一个参数,提供给后面需要用到的地方进行使用。Jmeter中关联可以通过“添加—后置处理器—正则表达式提取器”来获取数据,且注意正则表达式提取器附在需要获取数据的某个采样器之下,数据一般从“查看结果树“的响应数据获取。举例:1编辑活动接口的返回的结果77,要应用在接口“2编辑活动奖品”1、在“1编辑活动”请求下面添加原创 2020-12-22 16:23:07 · 6454 阅读 · 0 评论 -
jmeter的__RandomFromMultipleVars函数使用详解
请求中有几个参数需要在指定值范围内随机获取,例如类型为10、20、30,如下图,使用函数__RandomFromMultipleVars。但是运行的结果却没有从10、20、30中随机获取,而是空,应该如何解决?解决方法如下:需要添加“用户定义的变量”一起使用。1、定义变量名称,并赋值,描述可以不填写。2、在使用__RandomFromMultipleVars函数时,引用自定义的变量再次运行就正常了。这里还衍生另外一个问题,如参数太多,可以在Excel里面添加,原创 2020-12-22 14:36:30 · 2668 阅读 · 0 评论 -
jmeter如何测试Bearer加密的接口?
使用Jmeter做接口测试时,遇到一个问题:登录返回的响应数据中,token类型是bearer,接口返回身份认证失败(如下图所示),按照正常的将获取到的token值以参数形式放到信息头里,后边依赖登录接口的接口会获取不 到token值。解决办法就是组合传参:Bearer "toke"值,例如:Bearer ${access_token}。注意Bearer后面有空格。具体操作如下:1、使用正则表达式获取登录接口的token值2、在“HTTP信息头管理工具”,将获取到的token值以下图原创 2020-12-21 14:02:28 · 1809 阅读 · 2 评论 -
jmeter时间函数格式,及时间增减
1、${__time(yyyyMMdd HHmmss,)}结果(年月日 时分秒):20200801 1422122、格式:${__time(yyyy-MM-dd HH:mm:ss,)}结果(年-月-日 时:分:秒):2020-08-01 14:25:533、格式:${__time(yyyy/MM/dd HH:mm:ss,)}结果(年/月/日 时:分:秒):2020/08/01 14:26:424、格式:${__time(yyyyMMdd,)}结果(年月日):20200801原创 2020-08-01 14:50:31 · 5634 阅读 · 0 评论 -
Jmeter各版本下载地址
点击下载原创 2020-07-31 10:01:39 · 1636 阅读 · 0 评论 -
Jmeter登录接口参数请求和消息体数据请求时注意Http信息头管理器的应用
1、消息体数据请求时,需要启用http信息头管理器;2、参数请求时,不需要启用http信息头管理器;否则会报错原创 2020-07-30 11:13:30 · 1843 阅读 · 0 评论 -
jmeter压测参数化某些变量请求结果报错
问题:jmeter压测发送json报文中存在转义字符并参数化了某些变量导致发送至服务器端报文无法处理的解决。解决方法:请求报文中增加斜杠“\”过程:1、请求报文,没有参数时,请求结果正常下图是没有参数化时的正常结果1、请求报文换成参数时,结果报错,原来是请求结果少了一斜杠转义符:错误结果3使用参数时,正确的报文应该如下图,红色框,转义需两个斜杠:...原创 2020-07-22 12:10:12 · 800 阅读 · 0 评论 -
jmeter报错at java.net.URI$Parser.fail(Unknown Source)
报错at java.net.URI$Parser.fail(Unknown Source) at java.net.URI$Parser.checkChars(Unknown Source) at java.net.URI$Parser.parseHierarchical(Unknown Source) at java.net.URI$Parser.parse(Unknown Source) at java.net.URI.<init>(Unknown Sou...原创 2020-07-17 15:03:31 · 3368 阅读 · 0 评论 -
jmeter设置中文
1、暂时设置:打开jmeter软件,点击菜单栏【Options】按钮→【Choose language】>【Chinese(simplified)】。暂时设置,每次打开jmeter都需要手动设置。2、永久设置:安装目录下找到bin文件下的jmeter.properties,编辑 #language=en 改成 language=zh_CN,保存。如果修改时应用打开,需关闭重启才生效。注意需把前面的#号去掉...原创 2020-07-17 14:54:14 · 226 阅读 · 0 评论 -
jmeter模拟登录测试
初次使用jmeter模拟测试,虽然网上教程也一堆,例如利用badboy录制脚本再导入jmeter,那都是别人的东西。自己实践时问题百出,根据别人的方法,可以运行,但是登录失效,还是做一下笔记。分五个步骤:(1)添加线程组 (测试计划→添加→线程→线程组)(2)添加http请求 (线程组→添加→取样器→http请求)(3)在http请求中写入接入url、路径、请求方式和参数(4)添加查看结果树 (http请求→添加→监听器→查看结果树)(5)调用接口、查看返回值1、单用户登录.原创 2020-06-24 14:18:14 · 3079 阅读 · 0 评论