![](https://img-blog.csdnimg.cn/20200407170120683.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Jmeter
文章平均质量分 56
开源性能测试工具Jmeter的小白笔记,自学以后将理解的和操作的内容记录下来,方便自己以后查看。
万能車
测试工程师是稀缺人才,他们是技术人,关注用户,并且能够从系统层面上发现软件存在的问题。
他们为项目带来正面的、有益的力量,为团队带来信心,减少风险。
展开
-
JMeter应用-循环控制器、计数器的配合使用
使用场景:今天有了一个构造测试数据的需要,要用Jmeter来写一个脚本,自动创建一个商户,以及在商户下创建多个站点。重点在与怎样快速创建多个站点,且各个站点名称类似于站点01、站点02,名称不能重复,以上可以用循环控制器来实现。原创 2022-10-28 18:00:43 · 3677 阅读 · 0 评论 -
Jmeter使用MD5函数生成加密后的入参
jmeter中的md5加密函数使用原创 2022-07-16 14:58:09 · 997 阅读 · 0 评论 -
JMeter断言之json断言
如果接口返回的数据是json格式的,如果需要对结果断言,可进行如下配置一、对接口中的一个返回值进行断言二、若希望接口返回的结果不等于某数值时三、当接口返回数据中包含多个相同名称的参数时...原创 2022-04-25 19:53:12 · 14570 阅读 · 1 评论 -
JMeter从HTTP接口返回的参数中获取数据 - 使用Json提取器
Http接口返回的数据,一般都是json格式的,如果需要提取出其中的某个数据,作为后续其他接口的入参,那么可以使用json提取器。从接口中提取一个数据以登录接口为例,当登录成功后接口会返回一个token,如下图所示这样的,后续其他接口会使用该token作为header入参使用那么在jmeter的http请求下,新添加一个json提取器json提取器中进行如下配置:其中$,代表根元素其中$.data.id,就代表我要获取到的参数将获取到的值赋给变量token,那么后续的接口中就可以使用${原创 2022-04-25 15:03:36 · 2880 阅读 · 0 评论 -
JMeter从mysql数据库查询多条数据,并作为入参调用HTTP接口
以测试用户登录接口为例子,预计6条测试用例,其中用例1和2是正确登录,接口返回的结果是true,另外4个测试用例为:用户名错误、密码错误、密码是空、用户名是空,接口返回的结果是false一、Mysql数据库中准备测试数据如图所示,是我准备的测试数据,包括用户名、密码,expert_result是期望接口返回的结果二、Jmeter配置从Mysql数据库中读取用户如果是第一次用Jmeter连接mysql数据库,可以先参考我的上一篇微博进行配置https://blog.csdn.net/weixi原创 2022-04-20 11:54:59 · 2067 阅读 · 0 评论 -
JMeter - 如何连接Mysql数据库执行SQL语句
一、将mysql-connector-java-8.0.11.jar包放到jmeter相应路径下:D:\Program Files\apache-jmeter-5.4.1\lib\ext环境安装完成后:1、线程组下配置一个JDBC Connection Configuration原创 2022-04-19 17:44:28 · 1599 阅读 · 0 评论 -
Jmeter将每次测试的结果保存到文件中
在测试中,最好能够将测试时的接口返回数据保存下来,供以后需要的时候查看。1、在Jmeter中,察看结果树的设置页面,手动输入要保存的文件路径即可,例如保存为d:\xxxx.xml2、名称上加上时间戳${__time(yyyy-MM-dd,)}如果该jmeter脚本会被执行多次,每次都保存到这一个文件中显然不合适,那么每次都更换一个新文件名,又会很麻烦。可以使用时间函数来实现,如上图所示,在文件名中加入时间函数,每次就动态生成带着时间戳的名字了。例如名称带上日期,需要在名称中包含${__time(原创 2021-12-29 18:40:17 · 6803 阅读 · 0 评论 -
Jmeter测试时遇到的各种乱码
1、csv文件中的中文,在jmeter中显示乱码新建一个txt文件,将原来csv文件中内容拷贝到新文件中,保存时注意保存为UTF-8格式。Jmeter中csv文件配置时,选择此txt文件,编码格式选择utf-8。2、HTTP接口中返回的数据中,中文显示成乱码方法1:方法2:...原创 2021-12-06 18:51:33 · 3077 阅读 · 1 评论 -
Jmeter应用 - 正则表达式使用(各种数据获取的总结)
测试时遇到一个场景,接口返回的数据是一个列表,列表中包含很多商品的信息,我们要验证的是其中一个商品的库存数值是多少。如果接口返回的只是一个商品的数据,那么直接抓商品库存字段即可;但列表中商品很多,如何能找到那个特定的商品库存进行比对呢?正则表达式配置接口返回的data数据样式如下{“sku”:“A001”,“productName”:“xxxxxxxx-xxx-xxx”,“stock”:10},{“sku”:“B002”,“productName”:“xxxxxxxx-xxx-xxx”,“stoc原创 2021-10-14 16:03:27 · 673 阅读 · 0 评论 -
Jmeter应用 - If Controller条件控制器的使用
工作中有个测试场景,根据不同的条件,进行不同的接口验证,可以通过jmeter的条件控制器If Controller来实现。If Controller 条件控制器配置配置时注意以下两点1、如果是需要当表达式为true执行后面的接口,则不要勾选下面红色框框里的选项。2、当变量与其他字符串比较时,两边都要加上引号。条件控制器中的条件包含“或”时或:使用“||”连接符条件控制器中的条件包含“与”时与:使用“||”连接符不等于:使用!=连接符...原创 2021-10-13 18:23:52 · 1063 阅读 · 0 评论 -
Jmeter遇到的问题和解决办法之 - 全局变量不生效
最近使用Jmeter时会遇到一些问题的,打算将遇到的问题慢慢总结一下,避免自己和其他人后续踩坑。全局变量不生效遇到了一个奇怪的现象,我修改了全局变量的值后,引用该全局变量的地方,仍然使用原来的值。找了半天,发现了问题出现的原因:1、我在Jmeter的同一个Test Plan下包含2个线程组,每个线程组里都设置了全局变量PlatForm,刚开始的时候,线程组1和线程组2的PlatForm都是A。所以执行时,引用PlatForm变量时值是A。2、将线程组1中PlatForm值修改为了B,线程组2中Pla原创 2021-10-13 11:27:04 · 2443 阅读 · 0 评论 -
Jmeter应用 - 使用老接口来测试新接口
Jmeter实际应用小例子1 - 对两个接口的返回值进行比较原创 2021-09-26 14:04:06 · 310 阅读 · 0 评论 -
Jmeter应用 - 后台修改数据后,过多久接口才能返回正确的数值?
测试需求实际工作中要测试的一个场景是:后台对某个商品的价格修改后,前端页面中价格需要立即生效(之前是5秒后生效)。5秒和立即相比,好像是很长,但实际上在H5上网页刷一次,几秒钟就过去了,这个速度用肉眼还是很难观察到的,还是用脚本来验证会更加靠谱。由于前端页面上显示的价格就是后端接口返回的价格,所以可以通过验证接口返回结果的方式,来验证此场景。脚本思路使用Jmeter配置脚本,执行查询价格的接口,在接口加上响应断言,判断返回的价格是否与期望价格一致;脚本每1秒执行一次,连续不断的执行。当后台对价格进原创 2021-09-18 10:38:16 · 242 阅读 · 0 评论 -
Jmeter学习笔记 - HTTP Cookie管理器的使用
一般有两种使用方式1、添加一个HTTP Cookie管理器,由Jmeter自行管理cookie,后续的请求中,将自动使用jmeter获取到的cookie。2、添加一个HTTP Cookie管理器,手动设置Cookie管理器中的cookie值。如果第一条满足要求,自然是最好最方便的,但是往往不满足要求。...原创 2020-11-12 18:09:01 · 1024 阅读 · 0 评论 -
Jmeter学习笔记(10) - 获取动态token并使用V函数实现拼接
需求:使用jmeter进行用户登录和查询数据操作。其中用户登录后服务端会返回一个token,当查询数据时,HTTP请求header中必须包含此token才能查询成功。1、使用正则表达式,获取token如图所示,为用户登录时,服务端返回的数据,其中第一项就是token数据的格式为:{“access_token”:“8b5bc7d4-268b-4902-93d0-f4013555c0f1”,“token_type”:“bearer”,“refresh_token”:“67c82228-4170-46原创 2020-09-03 11:50:01 · 2240 阅读 · 5 评论 -
Jmeter小白学习笔记(9)- 同步定时器为什么没同步?
最近在工作中用到了jmeter进行压测(其他同事负责),有一个场景是100个人同时在线登录系统。配置如下所示:1、线程组设置了100个,10秒内启动完毕,如图所示:2、设置了同步定时器,如图所示:但是结果呢,这1000个线程并没有同时执行用户登录的HTTP请求,而是在10秒内陆续登录了。why?研究了一下,原来是同步定时器的Timeout时间设置错了,应该保持默认的0才对。此时再执行的话,就是100个用户在10秒后同时执行登录的HTTP请求啦。所以,Timeout in millisec原创 2020-09-02 18:25:21 · 1800 阅读 · 0 评论 -
Jmeter小白学习笔记(8)- 集合点(线程组和同步定时器)
集合点性能测试中最常见的一个场景莫过于同一时间N个用户同时进行操作。之前自己学习的时候,感觉使用线程组数在0秒内启动所有线程,不就基本实现并发了么?为啥还有个同步定时器呢?同步定时器是干啥的?看了好多篇文章和自己动手实践后,稍微有了些理解。同步定时器Synchronizing Timer配置如图,主要有2个参数:第一个参数,我自己翻译为每次集合的用户数,当线程组数达到这个数量时,触发一次并发...原创 2020-03-30 16:02:26 · 1662 阅读 · 0 评论 -
Jmeter小白学习笔记(7)- 线程组
线程组的配置线程数:Ramp-up period:循环次数:配置1:线程数为10配置2:线程数为1,循环次数为10配置3:线程数为10,Ramp up Period为20秒原创 2020-03-28 16:56:32 · 280 阅读 · 0 评论 -
Jmeter小白学习笔记(6)- 断言
断言断言主要是为了验证Jmeter中发送的请求是否执行成功,以百度搜索为例,当搜索"tester"关键字后,若百度搜索成功,则返回的数据中有个字段为title,值为"tester_百度搜索"。我们可以在Jmeter的百度搜索HTTP请求后添加一个响应断言,判断在结果中是否包含需要的数据。实际配置1、线程组下添加HTTP请求,进行配置,百度搜索的参数为tester2、线程组下右键添加As...原创 2020-03-27 18:27:07 · 185 阅读 · 0 评论 -
Jmeter小白学习笔记(5)- 参数化(以百度搜索为例,用户变量、CSV配置元件、函数助手)
用户变量举个用户变量的例子,假设Jmeter脚本有中很多HTTP请求中都用到了相同的参数,参数值为a。后来再使用时,希望将参数值修改为b,则需要手动将所有使用这个参数的地方,都将值由a修改为b。若使用用户变量(假设变量名为name),将变量值设置为a,而这些HTTP请求的参数处都关联用户变量name。后期再需要将参数值修改为b的时候,只需要在用户变量name定义的地方将值由a修改为b即可,做到一...原创 2020-03-26 15:07:42 · 468 阅读 · 0 评论 -
Jmeter小白学习笔记(4)- 参数化(以百度搜索为例,未使用参数化时)
参数化举例说明:比如我们要进行百度的搜索功能测试,模拟在输入框中输入搜索关键字,点击按钮开始搜索。不使用参数化的例子,请参考第一个。可使用参数化的方法,将搜索关键字参数化,即使用变量来替换普通的值,方便将来值的修改,或者方便批量操作。如果只需进行一次搜索,可使用用户变量的方式,将搜索关键字参数化。如果要进行N多次搜索,可使用CSV方式,每次执行时,从CSV文件中读取不同的值进行搜索。如...原创 2020-03-26 12:17:39 · 617 阅读 · 0 评论 -
Jmeter小白学习笔记(3)- 关联(包括正则表达式和逻辑处理器)
继续以百度为例,在百度首页的右上方还有新闻、hao123、地图之类的链接,如何能完成对这些链接的自动访问呢?主要依靠正则表达式和逻辑控制器。正则表达式正则表达式是通过一定的规则,从一大堆文本中将需要的内容查找出来。在Jmeter中,正则表达式用来对HTTP请求所返回的数据进行处理,根据规则获取到所需要的数据。如在对打开百度首页后,返回的数据中,包含了很多子链接,如下形式:如图,新闻子链接的...原创 2020-03-25 16:32:04 · 279 阅读 · 0 评论 -
Jmeter小白学习笔记(2)- 第一个测试脚本
Jmeter组成部分介绍以访问百度首页为例子,使用Jmeter进行相关配置,完成对百度首页的访问,并进行访问结果的查看。1、根节点:测试计划TestPlan2、线程组Threads(Users)之Thread Group,类似于测试场景的意思。总之,在测试计划下必须新建线程组,然后才能进行后续配置。3、取样器Sampler:用来模拟真实操作的元件,如HTTP Request4、断言Ass...原创 2020-03-25 15:30:28 · 293 阅读 · 0 评论 -
Jmeter小白学习笔记(1)- 软件安装启动
为什么是Jmeter从事测试行业多年,但是从未深入接触过性能测试工具,自觉惭愧。闲暇时买了《软件性能测试学习笔记之LoadRunner实战》和《全栈性能测试学习宝典Jmeter实战》,决定开始研究一下这两个最重要的性能测试工具。先从LoadRunner学起的,看了几个章节发现如果没有LoadRunner软件进行实际操作,效果甚微。所以只能放弃。选择了免费的Jmeter,能够边学习边实践,真是一件...原创 2020-03-24 21:13:59 · 164 阅读 · 0 评论