Jmeter 的安装和使用

版本:https://jmeter.apache.org/download_jmeter.cgi

历史版本:https://archive.apache.org/dist/jmeter/binaries/

windows下载安装apache-jmeter-X.X.X.zip即可,解压后进入Jmeter的bin文件夹,windows双击jmeter.bat启动jmeter。注:如有问题可能是Jmeter版本和jdk版本不匹配导致

2.Config element

*1.CSV Data Set Config

路径:右击线程组-add-Config element-CSV Data Set Config

例子:可以用于登录的参数化

1.将用户名和密码录入在users.csv文件,如图

2.CSV Data Set Config的属性配置

Filename:csv文件的名称及存放路径

File encoding:文件的编码格式,默认为空,可写utf-8

Variable Names:定义csv文件中的参数名

Ignore first line:忽略第一行(仅使用变量名不是空的)----默认为false

Delimiter:分隔符---每个参数变量之间的分隔符号,一般默认使用逗号,如此例子的userName,password,分隔符即为“,”

Allow Quoated data: 是否允许引用数据引

Recycle on EOF: 文件结束循环----设置为True后,允许循环取值

Stop Thread on EOF: 文件结束后是否停止线程------默认为false,即不停止,true即停止,当Recycle on EOF设置为True时,此项设置无效。

Sharing Mode: 设置线程是否共享---默认设置为All threads,ll threads---所有线程,Current thread group—当前线程组,Current thread—当前线程。

All threads:测试计划中所有线程,假如说有线程1到线程n (n>1),线程1取了一次值后,线程2取值时,取到的是csv文件中的下一行,即与线程1取的不是同一行。

Current thread group:当前线程组,假设有线程组A、线程组B,A组内有线程A1到线程An,线程组B内有线程B1到线程Bn。取之情况是:线程A1取到了第1行,线程A2取第2行,现在B1取第1行,线程B2取第2行。

Current thread:当前线程。假设测试计划内有线程1到线程n (n>1),则线程1取了第1行,线程2也取第1行。

此总结部分来自原文:https://blog.csdn.net/zwc2xm/article/details/78896034

CSV

这里请求中的参数userName,password引用csv的数据即为:${userName},${password},如下图:

LoginHttps

3.Pre Processors

前置处理器,在请求发送之前执行。

*1.BeanShell PreProcessors

路径:右击线程组-add-Pre Processors

Jmeter支持java来编写,对请求报文的预处理,可以使用jdk自带的jar包,如以下获取时间的例子

BSP
HttpRequest

附上其他大佬写的相关的帖子:https://www.jianshu.com/p/c267cc0df931

4.Post Processors

*1.Regular Expression Extractor

正则表达式提取器,附上正则表达式在线工具:https://c.runoob.com/front-end/854

路径:右击线程组-add-Pre Processors-Regular Expression Extractor

ResponseHeader
REE

将正则表达提取器提取的变量用于其它请求的(hear,body)中

Jsessionid

Apply to :作用域

Field to check:取值来源,即从哪里取值

*Reference Name,变量名,取值后存储的对象名,可以用作${变量名},另外${变量名}_g#,#代表第几组,g0表示完全匹配,包含整个字符串,g1代表从第对括号开始匹配,g2表示第二对括号开始的匹配

*Regular Expression: 正则表达式

*Template: $1$指向group 1,即匹配第一个正则表达式括号内的内容,依次类推

*Match No: 选择第几次匹配到的值,有可能一个Sampler下面匹配到多个值,这时这个变量就可以用到,0代表随机取,可以用在每次取到的值是一样的情况下

*Default Value: 如果没有匹配到的默认值,建议设置,可以快速定位问题

*2.JDBC Connection Configuration

Jmeter支持数据库存取数据,需要在JDBC Connection Configuration先进行配置,然后再配置JDBC Request

路径:右击线程组-add-Pre Processors-JDBC Connection Configuration

JDBC

Variable Name: 变量名称,需要变量名绑定到池。需要唯一标识。与JDBC取样器中的相对应,决定JDBC取样的配置。简单理解就是在JDBC request的时候确定去哪个绑定的配置。

Connection Pool Configuration

Max Number of Connection:  该数据库连接池的最大连接数,一般可设置为0,意思是每个线程都使用单独的数据库连接,线程之间数据库连接不共享

注:池中允许的最大连接数。在大多数情况下,将其设置为0,这意味着每个线程将得到它自己的池,其中只有一个连接,即线程之间不共享连接。如果您真的想要使用共享池(为什么?),那么将

Max Wait(ms):在连接池中取回连接最大等待时间,如果在试图检索连接过程中(取回连接)超过所设置期限,连接池抛出一个错误

Time Between Eviction Runs (ms): 疏散时间,在空闲对象驱逐线程运行期间,可以休眠的毫秒数。当非正值时,将运行无空闲对象驱逐器线程。(默认为“60000”,1分钟)(如果当前连接池中某个连接在空闲了time

Auto Commit:自动提交sql语句。有三个选项,true、false、编辑(自己通过jmeter提供的函数设置)打开或关闭连接的自动提交。

Transaction Isolation:  

事务间隔级别设置,主要有如下几个选项:(对JMX加解密) 

【TRANSACTION_NODE   事务节点 、

TRANSACTION_READ_UNCOMMITTED  事务未提交读、

TRANSACTION_READ_COMMITTED   事务已提交读 、

TRANSACTION_SERIALIZABLE   事务序列化 、

DEFAULT  默认、

TRANSACTION_REPEATABLE_READ 事务重复读

Connection Validation by Pool

这是Jmeter用来检验数据库连接是否有效的一种机制,超过5秒没有使用的话,就会用validation query去测试下这个连接是否有效

Test While Idle:当空闲的时候测试连接是否断开,测试连接池的空闲连接,验证查询将会被使用去测试。

Soft Min Evictable Idle Time(ms):最少的时间连接可能在池中闲置,然后才有资格被闲置的对象驱逐出去,额外的条件是至少在池中保持连接。默认值为5000(5秒)

Validation Query:在3.2版本的Jmeter中需要将默认的“select 1”改为“select 1 from dual”否则DBC Request结果将会报错:Cannot create PoolableConnectionFactory (ORA-00923: δ??????? FROM ?????)

Database Connection Configuration 

Database URL:如jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL = TCP)(HOST = XX.XXX.XX.XX)(PORT = 1521))(CONNECT_DATA=(SERVICE_NAME = SJCM)))

其中@(DESCRIPTION=(ADDRESS=(PROTOCOL = TCP)(HOST = XX.XXX.XX.XX)(PORT = 1521))(CONNECT_DATA=(SERVICE_NAME = SJCM)))后面的内容可以在Oracle的配置文件tnsnames.ora中找到(路径:Oracle\product\12.2.0\client_1\network\admin)

JDBC Driver Class: 数据库JDBC驱动类名,如org.gjt.mm.mysql.Driver  

Datebase

JDBC Request

JDBCRequest

SQL Query-Query Type 可以选择对数据进行增删改查,在输入框写sql语句

5.Listener

增加监听器,可以生成聚合报告等

1.View Results in Table

View Results in Table 可以监控每个请求开始发送的时间(StartTime),response 的时间(SampleTime)

路径:右击线程组-add--Listener--View Results in Table

View Results in Table

6.非GUI模式

非GUI模式命令:jmeter -n -t 脚本路径/脚本名.jmx -l 报告.jtl

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • 主要文体来自 CDNS:https://www.cnblogs.com/ceshisanren/p/5639895...
    Amano阅读 10,960评论 3 27
  • 1、测试计划(Test Plan) 控件截图: 理解:包含一个测试的所有内容,包含所有的控件,属性,变量。所以一个...
    社会主义顶梁鹿阅读 1,128评论 0 4
  • 参数说明: a) 引用名称:下一个请求要引用的参数名称,如填写token,则可用${token}引用它。 b) 正...
    南栀倾寒_76c0阅读 1,578评论 0 1
  • JMeter简介 JMeter基本概念 Apache JMeter是Apache组织开发的基于Java的压力测试工...
    yo_哥阅读 2,900评论 0 19
  • 不管跟哪一位,爱人,孩子,亲友,朋友,同事······相处的时候都要保持适当的距离。 说爱人吧,如果一门心思的围着...
    蛾子时述之阅读 702评论 0 0