2024年9月jmeter(JMeter基础)
⑴jmeter(JMeter基础
⑵如果将线程数设置为;JMeter将创建并模拟个用户对被测服务器的请求所有的控制器和取样器都是在某个线程组下,如果你将一个HTTP请求添加到循环控制器,在“线程组”右键【添加-】-》【samlper】--》【HTTP请求】设置我们需要测试的API的请求路径和数据,循环控制器中设置循环测试,在我们刚刚创建的线程组上右键【添加】--》【配置元件】--》【HTTP请求默认值】,仅一次控制器在每循环的第一次迭代时均会被执行HTTP请求、FTP请求、JDBC请求这个请求应该运行次;JMeter将向baidu服务器发送总共个用户请求,如下图所示:、设置线程数和循环次数,此元素允许您设置HTTP请求控制器使用的默认值servernajmeter测试的主流方向:·用于性能测试。
⑶—--》生成不同格式的测试报告
⑷以WEB性能测试为例:jmeter可以作为web服务器与浏览器之间的代理网关,以便捕获浏览器的请求和web服务器的响应,如此就可以很容易地生成性能测试脚本。有了性能测试脚本,jmeter就可以通过线程来模拟真实用户对web服务器的访问压力。这与LoadRunner的工作原理基本一致(向服务器提交请求;从服务器获取请求返回的结果
⑸JMeter下载安装
⑹Unix(Solaris,Linux,etc)、Windows(,NT,,XP,WIN)
⑺右键计算机属性-》高级系统设置-》系统属性-》高级-》环境变量-》添加如下的系统变量:
⑻变量值:D:ProgramFilesJavajdk.._【jdk安装路径】
⑼变量值:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libools.jar;
⑽运行cmd-》输入java-version-》显示java版本就表示jdk安装成功
⑾JMeter下载安装
⑿JMeter环境配置
⒀变量值:E:apache-jmeter-.(就是jmeter保存的路径,即jmeter解压路径
⒁如:JMETER_HOME=D:apache-jmetesapache-jmeter-.
⒂;%JMETER_HOME%/lib/ext/ApacheJMeter_core.jar;%JMETER_HOME%/lib/jorphan.jar;%JMETER_HOME%/lib/logkit-..jar
⒃Jmeter的Bin目录下的几个重要文件
⒄JMeter组件介绍(JMeter常用组件
⒅测试计划(TestPlan
⒆JMeter的不同组件称为Elements。每个元素都是为特定目的而设计的。
⒇线程组(Threads
⒈例如,如果将线程数设置为;JMeter将创建并模拟个用户对被测服务器的请求
⒉所有的控制器和取样器都是在某个线程组下;
⒊逻辑控制器(Logiontroller
⒋逻辑控制器允许在线程中定义处理请求的顺序。它允许控制“何时”将用户请求发送到Web服务器。例如,可以使用随机控制器随机向服务器发送HTTP请求
⒌例如:我们在收邮件时,只需要登录一次邮箱既可查看多封邮件。如果这个场景我们在Jmeter中实现,我们需要控制登录的次数,如何实现呢?Jmeter逻辑控制器中的仅一次控制器就可以完成。当然了,控制器不只是这一个,还有很多其他的控制器来完成我们的各种需求。
⒍除了为“线程组”指定的循环值之外,循环控制器使取样器运行一定次数。例如,如果你
⒎将一个HTTP请求添加到循环控制器,循环计数为
⒏将“线程组”循环计数配置为
⒐然后,JMeter将发送总共*=个HTTP请求。
⒑除了循环值=,你为上面的线程组指定。所以JMeter将发送总共*=个HTTP请求。
⒒又如:线程组中设置循环次数,循环控制器中设置循环测试,
⒓即:线程组的循环与循环控制器为父子关系,且循环控制器只对子请求有效
⒔注:录制脚本的循环按循环控制器中的调协循环
⒕作为循环控制器的子节点,仅一次控制器在每循环的第一次迭代时均会被执行
⒖HTTP请求、FTP请求、JDBC请求
⒗这个请求应该运行次;JMeter将向baidu服务器发送总共个用户请求。
⒘按顺序,按以下顺序依次发送请求:HTTP请求-》FTP请求-》JDBC请求,对于每个循环按随机顺序,请求随机发送,FTP请求-》HTTP请求-》JDBC请求或JDBC请求-》FTP请求-》HTTP请求等
⒙配置元件(Configelement
⒚比如CVSDataSetConfig,它可以帮助我们从文件中读取测试数据。另外Jmeter也提供了众多的函数来帮我们生成动态数据。
⒛缓存管理器,自动记录服务器返回的Cache信息。简单说就是它为取样器提供预备数据,然后由取样器
入不同的登录凭据。该登录信息(例如,用户名,密码可以存储在文本文件中。JMeter有一个元素,允许您从该文本文件中读取不同的参数。它是“CSV数据集配置”,用于从文件中读取行,并将它们拆分为变量。
这是CSV数据的示例。这是一个文本文件,其中包含用于登录目标网站的用户和密码
密码将作为cookie存储在计算机中。下次访问时,无需再次登录,因为在浏览器将使用您的Cookie作为用户数据登录。
Cookie管理器会自动存储该cookie,并将其用于将来对该特定网站的所有请求。
此元素允许您设置HTTP请求控制器使用的默认值
jmeter测试的主流方向:
·用于性能测试,压力测试
使用jmeter进行简单的性能测试
启动jmeter代理服务器、配置浏览器代理服务器、配置完成后,点击jmeter的【启动】开始录制,利用代理服务器获取脚本录制时提示证书错误,解决方法:、脚本增强(响应断言:监测程序运行是否跳转至正确的页面事务控制器:查看脚本总耗时循环控制器:部分脚本执行多次、脚本增强(参数化:每次请求不同的值配置随机参数:动态数据关联,正则表达式提取器基础的正则表达式:、添加报表监控:监控正则表达式获取的值是否准确:、设置并发策略,执行压力测试、查看结果是否符合预期
jmeter压力测试怎么测
jmeter压力测试方法:
品牌型号:华硕UXKA
软件版本:apachejmeterv.官方版
打开JMeter,更改语言为中文,官方默认为我们提供了简体中文。通过【Options】-》【ChooseLanguage】变更为简体中文,如下图所示:
创建线程组。在“测试计划”上右键【添加】--》【Threads(Users)】--》【线程组】,如下图所示:
设置线程数和循环次数。我这里设置线程数为,循环一次,如下图所示:
配置元件。在我们刚刚创建的线程组上右键【添加】--》【配置元件】--》【HTTP请求默认值】,如下图所示:
配置我们需要进行测试的程序协议、地址和端口,如下图所示:
构造HTTP请求。在“线程组”右键【添加-】-》【samlper】--》【HTTP请求】设置我们需要测试的API的请求路径和数据。我这里是用的json,如下图所示:
添加HTTP请求头,在我们刚刚创建的线程组上右键【添加】--》【配置元件】--》【HTTP信息头管理器】。因为我要传输的数据为json,所以设置一个?Content-Type:application/json,如下图所示:
添加断言。在我们刚刚创建的线程组上右键【添加】--》【断言】--》【响应断言】。根据响应的数据来判断请求是否正常。我在这里只判断的响应代码是否为。还可以配置错误信息,如下图所示:
添加察看结果树,在我们刚刚创建的线程组上右键【添加】--》【监听器】--》【察看结果树】。直接添加,然后点击运行按钮就可以看到结果了,如下图所示:
添加SummaryReport。在我们刚刚创建的线程组上右键【添加】--》【监听器】--》【SummaryReport】。直接添加,然后点击运行按钮就可以看到结果了,如下图所示:
执行测试计划,执行测试计划不能用GUI,需要用命令行来执行,如下图所示:
我这里执行的命令为:
jmeter-n-ttestplan/RedisLock.jmx-ltestplan/result/result.txt-e-otestplan/webreport
testplan/RedisLock.jmx?为测试计划文件路径testplan/result/result.txt?为测试结果文件路径testplan/webreport?为web报告保存路径。
Web报告,如下图所示: