![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jmeter
以实战为线索,逐步讲解Jmeter的用法,让零基础小白快速掌握Jmeter的操作
謹言
测试工程师(世上没有白走的路,每一步都算数)
展开
-
波浪式场景设计
波浪式场景设计可以满足类似于外卖平台这种,在有规律的时间范围内,用户数一下子升高,一下子降低,比如点外卖,只有饭口的时候,才是高峰,不是饭口的时候,用户数就会降低,所以这种场景是比较适合波浪式场景设计...原创 2021-07-09 18:30:31 · 209 阅读 · 0 评论 -
Jmeter 负载场景设计和波浪式场景设计
1、安装jpgc - Standard Set插件安装之后我们会发现在添加线程组当中会多出来很多的选项,如果看到如下界面,即表示插件安装成功2、选择负载线程组:jp@gc - Stepping Thread Group (deprecated)3、配置负载线程组4、写性能测试脚本5、添加监听器...原创 2021-07-09 15:35:06 · 405 阅读 · 1 评论 -
Jmeter中常用函数
Random函数:生成随机数RandomString函数:生成随机字符串digest函数:生成加密字符串一般情况下,32位,字母数字组合的就是md5加密,包含其他字符的一般是rsa加密property函数:获取属性下图这个就是我们在property文件中,property属性的值TestPlanName函数:获取脚本的名字threadGroupName函数:获取线程组的名字theadNum函数:获取线程数因为当前没有启用线程,所以结果是..原创 2021-07-08 23:04:02 · 492 阅读 · 0 评论 -
用户定义的变量和用户参数的区别
用户定义的变量:用户定义变量,在启动运行时获取一次值,在运行过程中,不在动态获取值用户参数:用户参数,在启动运行时获取一次值,在运行过程中,每次使用该参数都会动态获取一次值在使用用户参数的时候要注意一点:“每次迭代更新一次,看情况是否需要打勾”...原创 2021-07-08 21:06:48 · 1325 阅读 · 0 评论 -
测试关系型数据库
JDBC介绍JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序. 测试关系型数据库步骤:建立JDBC连接 JDBC Request(SQL) 回送JDBC Response(SQL执行结果)总共有7个步骤∶1.加载JDBC驱动程序 在连接数据.原创 2021-07-07 21:46:22 · 233 阅读 · 1 评论 -
JMeter关联之JSON提取器
配置项Apply to:与正在表达式提取器中用法相同,不再赘述。Names of created variables:将JSONPath提取的内容保存到指定变量,多个变量之间用“;”分隔(注意不是用,号)。JSON Path expressions:用于提取响应数据的JSONPath表达式,多个JSONPath表达式之间用“;”分隔(注意不是用,号)。Match No.(0 for Random):若JSONPath有多个匹配项,可以选择提取哪个匹配项。0表示随机(原创 2021-07-06 17:59:27 · 242 阅读 · 0 评论 -
正则表达式提取器
配置项Apply to:与响应断言中用法一致,不再赘述。Field to check:BodyResponse Body,比如HTTP响应报文的实体主体,不包含状态行与首部。Body(unescaped)Response Body(转换了转义字符),对HTTP响应报文的实体主体中的所有HTML转义字符进行了转义处理。由于转义时没有参照上下文,在处理时可能会出错,并且开启此选项会严重影响性能,故不建议使用。Body as a Document通过Apache Tika原创 2021-07-06 17:53:48 · 3206 阅读 · 0 评论 -
调试取样器:Debug Sampler
调试取样器:Debug Sampler可以查看到我们的正则表达式写的是否正确,有没有正确到提取到我们想要的数据,保存到变量当中添加步骤:添加正则表达式 线程组--添加Debug Sampler , 添加查看结果树 点击运行,就可以看到我们想要的结果了...原创 2021-07-06 16:44:20 · 779 阅读 · 0 评论 -
正则表达式介绍
正则表达式介绍JMeter包括模式匹配软件Apache Jakarta ORO.Jakarta-ORO是用于处理文本的一组Java类,是最全面以及优化得最好的正则表达式API之一,它提供与 Per15兼容的正则表达式,类似于AwK的正则表达式和glob表达式.单行模式与多行模式5说明单行模式只会影响 .元字符的解释.默认情况下 .匹配除换行符之外的任何字符;在单行模式下,.可以匹配包括换行符在内的任意字符多行模式会影响入与s两个元字符的解释.默认情况下A和S仅匹配整个字符串的开头和结尾;在多原创 2021-07-06 00:10:07 · 70 阅读 · 0 评论 -
什么是关联以及为什么要关联
为什么要关联在客户端与服务器通信过程中,多个请求/响应间的数据会有相互依赖的关系。比如上一个请求对应的响应数据在后续的请求中需要用到。下面是一些典型的例子∶比如第一次访问网站获取的session id在后续的请求都会将其传给网站; 服务器生成token返回给用户,在后续的请求中要带上token; 根据条件查询某记录,在查询结果集中选择记录进行操作(比如删除)但是有些通信协议是无状态的,不存在上下文相关性.多个请求/响应之间的数据不能直接进行传递;并且每次服务器返回的数据不是一成不变的,传递.原创 2021-07-05 23:16:44 · 2247 阅读 · 0 评论 -
JSON 断言
JSON 断言的使用模式1)测试JsonPath表达式能否找到路径2)测试JsonPath表达式提取到的值是否正确操作步骤1.对预期结果要验证的项进行参数化比如要验证err_msg,result将预期结果写入csv文件中比如∶ case_name,goods_id,goods_attr,goods_num,error_msg,result case1,9,226,3,,¥6630元 case2,,226,1,没有找到指定的商品或者没有找到指定的商品属性。 case3,.原创 2021-07-05 23:03:04 · 3209 阅读 · 0 评论 -
Jmeter 学习目录
Jmeter下载和配置环境变量JDK1.8下载、安装和环境配置教程JMeter测试组成JMeter执行顺序与作用域JMeter参数化之CSV Data Set Configjmeter参数化之 __CSVRead()参数化JMeter断言之响应断言JSON与JSONPathJSONPath Tester使用性能测试、负载测试、压力测试以及压测的区别性能测试主要指标...原创 2021-07-05 21:23:09 · 197 阅读 · 0 评论 -
JSONPath Tester使用
JSONPath Tester使用使用Jmeter插件管理器:jmeter - plugins - manager -1.3.jar1)安装插件下载:https://jmeter-plugins.org/install/Install/ 将jmeter-plugins-manager-1.3.jar放到\apache-jmeter-5.0\lib\ext目录中 重启jemeter之后,在“options”下即可看到pluginsmanager2)安装Dummy Sampler构造服..原创 2021-07-05 18:18:02 · 1437 阅读 · 0 评论 -
JSON与JSONPath
什么是JSONJSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式。JSON容易理解,便于阅读和编写;同时计算机也易于解析和生成,所以JSON有广泛的应用。JSON基于如下两种结构:1)键/值对的集合集合的特性:无序性{"name":"zhangsan","sex":1,"age":25}2)值的有序集合...原创 2021-07-05 18:11:07 · 295 阅读 · 0 评论 -
JMeter断言之响应断言
断言的定义断言用于验证取样器请求或对应的响应数据是否返回了期望的结果。可以看成是验证测试是否预期的方法。对于接口测试来说,就是测试Request/Response,断言即可以针对Request进行,也可以针对Response进行。但大部分是对Response做断言。JMeter常见的断言元件如下:1.响应断言2.JSON Assertion响应断言配置项Apply to:1.在大多数情况下,只有主取样器具有所有必需的响应数据。但是很多Web应用使用了Ajax,JQuery技原创 2021-07-05 16:44:34 · 819 阅读 · 0 评论 -
JMeter执行顺序与作用域
执行顺序一般情况下JMeter按照如下顺序执行∶0.配置元件1.定时器2.前置处理器3.取样器4. 后置处理器5.断言6.监听器一个简单的例子∶-Test Plan-Thread Group-HTTP Requesto 4 HTTP Cookie Managera 1Constant Timer 2...原创 2021-07-04 23:45:35 · 520 阅读 · 0 评论 -
JMeter测试组成
JMeter测试组成JMeter构建测试类似于组装一台智能电子设备,比如智能手机.智能手机由CPU,内存,输入输出设备(比如USB接口,摄像头等),屏幕,电池等一系列物理部件构成的.JMeter测试也是由一系列JMeter元素组合起来的,JMeter元素主要由以下四种类型∶1)测试计划2)线程组3)组件组件包含∶配置元件,定时器,前置处理器,后置处理器,断言,监听器4)控制器控制器包括∶ 取样器,,逻辑控制器测试计划测试计划描述了JMeter在运行时要执行的一系列步骤.完整的测试计划原创 2021-07-04 23:19:25 · 242 阅读 · 0 评论 -
jmeter参数化之 __CSVRead()参数化
__CSVRead()数据参数化参数化步骤 1.确定接口参数中哪些请求参数需要进行参数化 在设计测试用例时,我们针对商品编号,商品规格,商品数量来准备数据,故对id,attr,number参数化2.将测试数据放在外部一个文档保存,文件类型为csv或txt -->*.csv or *.txt 新建一个testdata.csv,一行写一个用例,多个参数值默认用,分隔(注意不要写列标题)∶__CSVRead()函数,不能去首行,所以不要写列表题,那么没有标题,就要靠序号去分别,所以.原创 2021-07-04 23:04:51 · 1327 阅读 · 0 评论 -
JMeter参数化之CSV Data Set Config
参数化的定义:将客户端发送给服务器处理的数据预先保存到一个参数中的过程. 一般来说,当用不同的数据测试相同的功能时,我们可以使用参数化来精简测试.JMeter提供了非常多的参数化的方式和手段,常见有:1.配置元件 CSV_Data_Set_Config2.内置参数化函数,比如__CSVRead()CSV_Data_Set_Config参数化:参数化步骤 1.确定接口参数中哪些请求参数需要进行参数化在设计测试用例时,我们针对商品编号,商品规格,商品数量来准备数据,故对id,at原创 2021-07-04 19:08:46 · 365 阅读 · 2 评论 -
jmeter注意事项
1、http取样器的注意事项2、两个线程组之间是不可以直接传入参数的3、用户定义的变量和用户参数的区别:用户定义的变量:用户定义变量,在启动运行时获取一次值,在运行过程中,不在动态获取值用户参数:用户参数,在启动运行时获取一次值,在运行过程中,每次使用该参数都会动态获取一次值4、md5加密:只有字母和数字,不可解密5、rsa加密:除字母数字之外,还会有特殊符号...原创 2021-07-02 18:09:09 · 170 阅读 · 0 评论 -
性能测试主要指标
并发:狭义:同一时间做相同的事情 广义:用一时间做不同的事情,回合场景并发数:单位时间向服务器发起请求的用户数 virtual user并发用户数:用于模拟真实用户向服务器发起请求的性能测试虚拟用户数量系统用户数:只要访问过系统的用户,可能含一次性访问的用户 在线用户数:当前正访问的用户,不一定有压力响应时间:从发起请求到收到响应的时间网路传输时间:t1 t4服务器处理时间:t2 t3TPS(Transation per second)--..原创 2021-07-01 16:11:29 · 132 阅读 · 0 评论 -
性能测试、负载测试、压力测试以及压测的区别
性能测试:使用一定的家属工具,找出或验证某些性能指标值的测试“看看你有几斤几两”(负载测试):逐步增加并发用户数,发起请求,找到我们系统的拐点区间关键词:逐步加压比如:如果我们想知道我们的产品可以最多支持多少个并发用户数,是10个、20个、30个……还是100个,这么这个时候我们可以进行逐步加压,如果到第90个用户并发的时候没有问题但是到第100个用户并发的时候出现了问题,那么这个时候我们就知道了这个服务器支持的最大用户并发数应该是在90-100之间,这个区间我们称之为瓶颈区间“压力原创 2021-07-01 15:23:09 · 735 阅读 · 0 评论 -
jmeter全局变量配置:将token运用到全局(跨线程组使用变量)
请注意元器件的执行顺序:请将提取token的配置原件放在设置全局变量的配置元器件前面(本来是一个超级马虎的人,真是俗称“方脑壳”啊)1.获取登录后的token(提取可以用json path Extractor插件,只针对响应数据为json格式的接口):查看调试器参数(以外即为调用成功):2.使用正则表达式提取token配置全局变量:添加后置处理器-BeanShell PostProcessor调用全局变量:注意:如果遇到跨线程组调用参数值不是token值而是转载 2021-04-13 18:51:56 · 247 阅读 · 0 评论 -
JMETER如何进行同步定时器设置集合点
什么是集合点? 集合点就是赛跑的时候,运动员们都站在同一起跑线上,听到裁判员的哨声,大家一起冲出去。在性能测试中,比如测试秒杀这种活动,就需要用到集合点的概念,来模拟用户的操作。jemter里面设置集合点可以通过同步定时器来实现,当然把线程启动时间改为0,也可以实现,不过这种方式会对测试机器性能消耗较大。参考这篇博客:https://blog.csdn.net/lixiaonn/article/details/81301009?utm_medium=distribute.pc_relevant.no转载 2021-04-07 19:04:27 · 517 阅读 · 0 评论 -
jmeter如何和添加事务
在右键的方式来选择添加依次Threads选项,然后选择"线程组"。 然后在进行添加事物控制器,依次添加-》逻辑控制器-》事物控制器。 然后进行添加一个http协议控制器,依次添加-》sampler-》http请求。 然后添加聚合报告,summary report,图形结果 进行运行整个的计划的程序,点击jmeter中的运行按钮。 这样在运行的结果中,可以看到的是为添加事物的运行结果、 ...转载 2021-04-07 17:47:11 · 2168 阅读 · 0 评论 -
jmeter聚合报告分析
如下:Label:每个请求的名称,比如HTTP请求等#Samples:发给服务器的请求数量(如图是200个请求,若模拟100个用户,循环10次,请求数是1000)Average:单个请求的平均响应时间。默认是单个Request的平均响应时间,当使用了Transaction Controller时,也可以以Transaction为单位显示平均响应时间Median:中位数,也就是50%用户的响应时间90%Line:90%用户的响应时间95%Line:95%用户的响应时间99.转载 2021-04-07 17:11:27 · 844 阅读 · 0 评论 -
fiddler如何添加ip列
运行fiddler,菜单,Rules->Customize Rules,打开“Fiddler ScriptEditor” Ctrl+F查找“static function Main()”字符串,然后添加以下代码: FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");原创 2021-04-06 18:34:14 · 867 阅读 · 1 评论 -
JDK1.8下载、安装和环境配置教程
一、下载安装包 1. JDK1.8百度云下载路径: 链接:https://pan.baidu.com/s/1ozCGy53AIeQIHWL6s9oAbw 提取码:04lf 网盘放的是jdk1.8版本中的1.8.0_152的版本 2.如果大家想下载别的版本,可以去官网:www.oracle.com下载,进入官网页面,然后点击Downloads。 3.下拉页面,找到下载区域,点击Java。 4.点击Java(JDK) for Dev...转载 2020-12-06 13:53:57 · 1019 阅读 · 0 评论 -
Jmeter下载和配置环境变量
一、在安装Jmeter之前,请先检查下电脑有没有装JDK:开始->运行->然后输入cmd->进入命令行界面,输入java -version , 出现以下信息就是此电脑已安装了JDK、二、下面就是Jmeter的下载地址 http://jmeter.apache.org/download_jmeter.cgi三、接下来就是配置Jmeter环境变量(1)“我的电脑”>鼠标右键菜单>“属性”>“高级系统设置”>“环境变量”;(2)在系统变量中添加俩个属性①JM原创 2020-11-29 11:38:04 · 177 阅读 · 0 评论