![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Jmeter
Miss糖豆
这个作者很懒,什么都没留下…
展开
-
Jmeter-集合点(同步定时器)
Jmeter的同步定时器,顾名思义是将多个请求同步并发操作。同步定时器又可称之为“集合点”,表示将需要做并发的请求集合在一起后再进行请求。同步定时器使用注意事项:1.若是在同一个线程下与请求同级别,则表示对所有的请求都进行同步。2.同步定时器设置number of simulated users to group by数量表示请求到达这个数后就触发并发请求,0则表示所有并发数3.timeout in milliseconds设置超时时间,如果并发请求到达设置的数量后,其他不足该数量的则超过该原创 2021-08-16 17:33:43 · 624 阅读 · 0 评论 -
Jmeter-如何知道哪个接口可以使用cookie管理器获取的值
在jmeter内,有cookie管理器可以专门管理接口的cookie值信息。cookie值的获取有两种方式,一个是手动获取,一个是自动获取。手动获取1.在登录或其他能产生cookie的请求后增加后置处理器,提取对应的cookie值2.添加cookie管理器,在管理器内通过变量的形式引用该cookie值,并通过设置domain字段指定该cookie管理器的作用域名。---->提取--->引用自动获取jmeter的cookie管理器自带自动...原创 2021-08-13 15:39:11 · 169 阅读 · 0 评论 -
Jmeter-Parameters\Body Data\Files Upload入参类型区别
jmeter的HttpRequest的入参上传有三种形式,分别为:Parameters\Body Data\Files Upload。Parameters类型:一般是form表单形式,以key=value的形式拼接 GET请求的入参一般是form表单形式,或者直接在path后面通过“?”连接传递Body Data类型:一般是json格式或者xml格式的入参,也可以传递表单的形式,如果表单形式的在该类型内的写法是:a=1&b=2&a...原创 2021-08-13 11:35:33 · 512 阅读 · 0 评论 -
Jmeter录制功能
前言在使用Jmeter进行接口或者性能自动化时,前期大部分的工作量集中在将接口信息从接口文档或抓包工具上复制黏贴到jmeter的HTTP请求上。 针对上述问题,jmeter提供了录制功能,可录制指定接口请求,然后进行接口请求优化,重新组合成满足需要的接口脚本。Jmeter录制功能: 原理:HTTP代理服务器 优点:1. 支持录制指定请求/支持过滤非必要请求 2...原创 2021-07-20 09:37:37 · 790 阅读 · 0 评论 -
Jmeter-使用HTTP默认请求统一管理接口
前言同一个系统内部N多个接口请求对应的ip、(port number)端口等值可能存在一样,此时对多个接口进行自动化时,如果在每个http请求内重新填写相同的ip、端口、http/https等就显得比较多余Jmeter提供了一个名为 “HTTP Request Defaults”的配置元件,用来统一管理这些接口请求的相同的默认值。菜单路径:Add-config element- HTTP Request Defaults界面样式:一般同一个模块下的接口请求对应的请求类型(ht原创 2021-01-19 09:18:42 · 525 阅读 · 0 评论 -
结合Ant+Jenkins运行Jmeter脚本
前言在学习jmeter基础后,已经能独立编辑接口自动化脚本了,那么进一步就要思考,如何通过jenkins一步构建触发运行脚本呢?本文所使用的是Jenkins+Ant+Jmeter组合成一个完整的自动化框架。前提准备:已安装jenkins环境 已编辑jmeter脚本文件Ant安装下载地址:https://archive.apache.org/dist/ant/binaries/可根据本人需要下载对应的版本,本文使用的是1.9.1版本解压配置环境变量:Ant_home:C原创 2020-12-29 14:31:51 · 3074 阅读 · 0 评论 -
Jmeter-并发压测和持续性压测
在进行接口性能自动化测试过程中,压测的方式有2种:同时并发 设置线程组、执行时间、循环次数,这种方式可以控制接口请求的次数 持续压测 设置线程组、循环次数=勾选“永远”,调度器(持续时间),这种方式可以控制压测周期时间 指定并发设置线程数number of threads(users) 设置执行时间ramp-up period(in seconds) 设置循环次数loop count场景一:设置线程数number of threads(users):10设置执行...原创 2020-12-25 17:10:41 · 7263 阅读 · 0 评论 -
Jmeter的三大线程(初始化线程、普通线程、结束线程)
在接触自动化后,大家都知道在自动化开始之前都需要进行初始化环境,在自动化结束后都需要清理自动化产生的数据,在接口自动化测试的世界里,同样存在需要初始化的工作。常见的初始化的工作是登录问题。Jmeter初始化后,提供基础的三种线程,分别为:普通线程Thread Group 初始化线程setUp Thread Group 结束线程tearDown Thread GroupsetUp Thread GroupsetUp线程在普通线程执行前自动触发执行,setUp线程组...原创 2020-12-23 16:43:32 · 942 阅读 · 0 评论 -
Jmeter-定时器基础概念
参考资料:https://zhuanlan.zhihu.com/p/96708080原创 2020-12-16 09:08:04 · 94 阅读 · 0 评论 -
Jmeter-通过设置全局变量,解决多线程下登录问题
使用逻辑控制器解决单线程的登录问题,那么多线程时,如果保证仅登录一次情况下,多多个接口进行同步压力测试?脚本结构:信息头管理器:定义接口请求的格式方法等信息 Cookie管理器:将第一个线程设置的全局变量,设置为cookie信息 第一个线程:执行登录操作登录成功后通过提取器提取对应的身份信息“token”设置全局变量,通过【BeanShell PostProcessor】将“token”设置为全局变量第二个线程:定义压测参数压测接口第三个线程:定义压测参数压测接口原创 2020-12-08 14:44:52 · 593 阅读 · 0 评论 -
Jmete-嵌套变量的使用(数据库组合查询多个结果变量引用)
目标在自动化测试结束后,如何清理自动化测试结果产生的测试数据也是一个很重要的问题?Jmeter提供计数器和循环控制器,可用于遍历处理自动化产生的测试数据。实践过程:1.通过数据库查询出指定的数据:订单号列表,查询结果存为变量orderno2.统计数据库查询结果的总数量:查询结果存为变量count3.使用计数器,最大值=count(数据库查询结果总数)-à订单当前计数值变量命名为countnum4.使用jmeter提供的嵌套函数读取orderno订单号列表值,读取格式为:${ord原创 2020-12-08 10:33:34 · 1189 阅读 · 0 评论 -
Jmeter-更新数据库驱动信息
由于JDK版本自动升级,导致数据库驱动报错:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.需要原创 2020-12-07 08:34:24 · 231 阅读 · 0 评论 -
Jmeter-HTTP Header Manager信息头管理器的使用
接口测试遇到500不要慌,Header了解一下问题:接口的入参、地址、请求方式都设置对了,但是请求仍返回500,报系统错误是为啥?在日常进行接口测试过程中,我们一般都知道一个完整的接口HTTP请求一般包括四大部分:请求信息头、请求体、响应信息头、响应体、请求方式(post/get等)。在进行测试时我们一般比较关心的是请求入参,也就是请求体的信息,从而忽略了请求信息头的重要性。若是未正确定义信息头,会导致接口请求失败。本文主要带大家简单了解下信息头的作用。Jmeter提供了HTTP Header原创 2020-11-26 09:00:37 · 5623 阅读 · 0 评论 -
Jmeter-函数助手-随机函数的使用(模拟1000+个手机用户获取短信验证码)
如何模拟1000个手机用户登录?现在很多APP或者网站都需要使用手机号进行登录,那么使用手机号进行登录时,必然就需要“手机号+短信验证码”才可登录成功。在实际测试过程中,测试人员一般只有一个手机号,那么需要测试多个手机号来通过短信接口服务进获取到登录需要的“短信验证码”,那么如何解决多个手机号的问题?收集公司其他同事的个人手机号 使用Jmeter提供随机函数,生成手机号的中间四位数本文重点在获取短信验证码的接口功能,故无需检验手机号的各个号码段等格式,所以选择上述的第二种“采用Jmeter的原创 2020-10-29 08:26:07 · 3174 阅读 · 1 评论 -
Jmeter-数据库压力测试基础
目标在对数据库进行压力测试之前需要掌握两个知识:1.使用jmeter连接数据库 2.使用jmeter执行数据库相关操作命令本文主要通过一个简单的查询案例演示如何使用jmeter对数据库进行操作。环境准备查看数据库版本使用navicat查看数据库版本下载驱动:地址:https://dev.mysql.com/downloads/下载成功后放入jmeter安装路径的ext文件夹下,并解压驱动jar文件放到ext文件夹后,需要重新启动jmete.原创 2020-12-01 08:34:25 · 365 阅读 · 1 评论 -
Jmeter-逻辑控制器的使用
在日常的接口压力测试过程中,最常见的问题是如何处理登录问题,在对指定接口进行压力测试时,需要控制登录模块接口仅运行一次。此时需要用到jmeter的逻辑控制器功能。Jmeter的逻辑控制器,顾名思义就是控制压力测试脚本的运行逻辑。Jmeter提供了多种逻辑控制器,本文着重讲2个控制器:Once Only Controller仅运行一次控制器 Loop Controller循环控制器项目分析登录系统,对修改XX配置的接口进行压力测试。Jmeter逻辑控制器Once Only Contro原创 2020-10-12 08:59:03 · 312 阅读 · 0 评论 -
Jmeter-截取登录信息(函数助手-切片函数的使用)
Jmeter-函数助手-切片函数的使用Python-切片函数在讲述Jmeter的切片函数功能之前,我们现在简单看下python的切片函数的功能。(图片为python的菜鸟教程)通过上图介绍可知,python的切片函数split()的主要功能是将一个字符串通过指定的字符切成多个字符串,并行成列表Jmeter-切片函数Jmeter的切片函数_split与python的切片函数split()功能一样,切片过程为:获取需要源字符串 指定切割的特殊字符 存储切片后的字符串列表项目实战原创 2020-09-22 16:36:58 · 381 阅读 · 0 评论 -
Jmeter-使用 CSV Data Set Config对接口进行参数化
Jmeter 参数化-CSV Data Set Config 在进行接口测试时,接口的入参可能存在多个值,那么需要依次校验这些枚举值是否能请求成功,就需要用到Jmeter的参数化功能。 Jmeter的配置元件中提供了“CSV Data Set Config”可用于实现入参的参数化配置。接口分析如下图的接口文档清晰描述了,入参type的枚举值列表有10个。准备数据文件文件格式“.csv”文件内容:第一行为参数名称,第二行开始是参数的枚举值参数在接口内的引用方式:${...原创 2020-09-22 16:35:48 · 224 阅读 · 0 评论 -
Jmeter-函数助手-切片函数的使用(截取登录信息)
Jmeter-函数助手-切片函数的使用Python-切片函数在讲述Jmeter的切片函数功能之前,我们现在简单看下python的切片函数的功能。(图片为python的菜鸟教程)通过上图介绍可知,python的切片函数split()的主要功能是将一个字符串通过指定的字符切成多个字符串,并行成列表Jmeter-切片函数Jmeter的切片函数_split与python的切片函数split()功能一样,切片过程为:获取需要源字符串 指定切割的特殊字符 存储切片后的字符串列表项目实战原创 2020-09-21 16:29:49 · 1331 阅读 · 0 评论 -
Jmeter-函数助手-时间戳
Jmeter-函数助手-时间戳开发在定义接口时经常在请求URL的参数上使用“时间戳”。测试人员在使用jmeter模拟该含有时间戳的接口请求时,可通过函数助手来获取时间戳接口文档通过接口文档可获得以下信息:接口域名:详细见上图 接口路径:详细见上图 接口入参:详细见上图 接口请求方法:get 接口请求成功标志:reason使用时间戳函数菜单路径1.生成13位时间戳:${__time(/1000,)}Choose a function:选择一个函数G..原创 2020-09-21 09:20:06 · 1446 阅读 · 0 评论 -
Jmeter-用户参数User Parameters(实践:接口请求入参参数化)
在日常测试过程中,若需要模拟多用户请求接口,则就需要用到“User Parameters用户参数”来实现接口入参的参数化。菜单路径:User ParametersUser Parameters使用过程1.定义变量名称、多个变量值2.引用变量3.在线程组Thread Group上定义用户数number of threads(users)定义用户参数变量名称:phone变量值:152802****** 131940******引用变量引用方式:${变量...原创 2020-09-22 16:37:46 · 814 阅读 · 0 评论 -
Jmeter--用户自定义变量User Defined Variables(实践:管理环境变量)
在实际测试过程中,往往有区分“测试环境、预生产环境”等多个环境进行测试,此时在接口中可将环境设置为变量,在切换环境时,不用在接口内修改环境地质,直接修改环境变量对应的值即可。菜单路径:User Defined Variables用户自定义变量的使用方法:1.User Defined Variables定义变量名称和变量值2.在接口内直接引用变量名称,引用方式:${变量名}引用变量引用结果:按照上述步骤,切换到预生产测试时,只需要将变量env对应的value设置原创 2020-09-23 16:59:56 · 1435 阅读 · 0 评论 -
Jmeter-断言
在自动化测试过程中,需要校验测试是否通过,就需要使用“断言”功能。本文示范2种断言的使用方法1.JSON Extractor:通过jsonpath表达式进行断言2.Response Assertion:通用的响应数据断言JSON Extractor 接口响应结果是json格式的接口请求,进行断言时可选择JSON Extractor1.菜单路径:2.引用示范确认判断接口请求成功的标志,本文案例中接口请求成功后对应的response b...原创 2020-09-15 09:36:07 · 255 阅读 · 0 评论 -
Jmeter-Post Processor后置处理器(动态获取响应结果数据作为变量)
jmeter接口请求过程中,会出现使用上一接口的响应数据的指定字段,作为下一个接口请求的入参数据,此时需要用到Post Processor后置处理器动态提取取响应结果数据作为变量。菜单路径:案例:动态获取接口返回的验证码作为变量1.由于响应数据是json格式,所以可以使用jsonpath语法获取。2.在监听树上直接校验jsonpath表达式是否正确3.添加后置处理器:JSON Extractor4.添加调试器Debug PostProcessor,查看获取的变...原创 2020-09-22 17:08:26 · 1523 阅读 · 0 评论 -
Jmeter-HTTP request的使用
使用jmeter模拟接口请求需要在线上组Thread Group上添加接口请求、请求信息头管理器、测试报告:1.HTTP Header Manager:管理接口请求的信息头2.HTTP request:模拟发起接口请求3.View Results Tree:监听树,查看请求详细信息以及基础性能信息接口分析--请求信息头对应的添加HTTP Header Manager来放置请求头request headers信息接口请求--请求体、域名、路径、请求方式接口测原创 2020-09-15 08:10:33 · 425 阅读 · 0 评论 -
Jmeter必备基础知识
1.环境安装2.取样器Sample3.后置处理器Post Processors4.配置原件Config Element5.断言Assertions6.监听器Listener7.函数助手Function Help dialog8.逻辑控制器Logic Controller9.监听器Lisener另外掌握:jsonpath语法、正则表达式语法...原创 2020-09-08 09:48:24 · 339 阅读 · 0 评论 -
Jmeter安装
jdk环境校验:jmeter下载地址:https://archive.apache.org/dist/jmeter/binaries/下载后,解压成功后即可使用原创 2020-09-08 09:50:01 · 79 阅读 · 0 评论