




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
jmeter安装Jmeter下载与安装官网下载:/download_jmeter.cg安装JDK:JMeter是Java程序,需要先安装JDK来运行它,建议使用
JDK1.8
,安装JDK不再赘述。Jmeter运行:进入到Jmeter目录中,再进入到名为bin的目录,如果是Windows系统:双击名为
jmeter.bat
的文件,即可打开JMeter管理界面程序。如果是Mac系统,在命令行窗口中,进入到jmeter的bin目录执行命令
shjmeter.sh设置Jmeter语言为中文环境1、临时设置Jmeter菜单栏选择OptionceChooseLanguageChinese(Simplified)这种方法,重启软件后又变为英文环境了。2、永久设置进入apache-jmeter-5.2.1\bin目录,找到“perties”文件,在文件中添加“language=zh_CN”,保存之后再打开jmeter就永久变为中文环境了。Jmeter主要元件测试计划是使用JMeter进行测试的起点,它是其它JMeter测试元件的容器线程组代表一定数量的用户,它可以用来模拟用户并发发送请求。实际的请求内容在Sampler中定义,它被线程组包含,可以设置线程数、循环次数等。常见有前置线程组、后置线程组、普通线程组等
配置元件维护Sampler需要的配置信息,并根据实际的需要修改请求的内容。前置处理器负责在请求之前工作,常用来修改请求的设置定时器负责定义请求之间的延迟间隔。取样器(Sampler)是性能测试中向服务器发送请求,记录响应信息、响应时间的最小单元,如:HTTPRequestSampler、FTPRequestSample、TCPRequestSample、JDBCRequestSampler等,每一种不同类型的sampler可以根据设置的参数向服务器发出不同类型的请求。后置处理器负责在请求之后工作,常用获取返回的值。断言用来判断请求响应的结果是否如用户所期望的。监听器负责收集测试结果,同时确定结果显示的方式。逻辑控制器可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。Jmeter并发和顺序执行默认是并发顺序执行:需要在Jmeter线程组下勾选setUp和tearDown线程组线程组的配置信息 线程数:模拟用户并发数(虚拟用户数)。一个虚拟用户占用一个进程或线程。 Ramp-Up时间(秒):设置的虚拟用户数需要多长时间全部启动。如果线程数为20,准备时长为10,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。 循环次数:每个线程发送请求的次数。如果线程数为20,循环次数为100,那么每个线程发送100次请求。总请求数为20*100=2000。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。A.继续。某一个请求遇到错误后,其他请求继续执行。我们在大量用户并发的时候,某个请求失败属正常现象B.启动下一进程循环:如遇到错误后面的请求将不再执行,等下一轮再开始执行。例如线程组中包含登录和发帖2个请求,若登录请求失败,发帖请求将不再执行,等下一次重新迭代,从登录开始执行。C.停止线程:遇到错误就停止线程再也不执行了。例如线程组中有50个线程,其中某一个线程的某个请求遇到错误即停止线程不再执行,剩下49个线程继续执行。若线程错误的比较多,剩余的线程就较少,此时负载数量就不足了,测试结果不满足测试要求,因此一般不会勾选此项。D.停止测试:某个线程某个请求遇到错误,停止所有线程,也就是停止整个测试,但是线程中的余下的请求还是会执行完再停止。例如线程1中包含登录和发帖2个请求,其他线程遇到错误,现在要全部停下来,线程1发帖请求还是会执行,然后再停止测试。E.立即停止测试:遇到错误立即停止所有线程,即整个测试。线程组内元件一般的的执行顺序
1.配置元件
2.前置处理器
3.定时器
4.取样器
5.后置处理器
6.断言
7.逻辑控制器
8.监听元件调度器持续时间,测试计划持续多长时间启动延时。点击启动按钮后,仅初始化场景,不运行线程,等待延时时间到才运行Http请求默认值HTTP请求协议:向目标服务器发送HTTP请求时的协议,可以是http或者是https或者File,默认值为http服务器名称或IP:HTTP请求发送的目标服务器名称或IP地址端口号:目标服务器的端口号,默认值为80,https的端口为443http请求:发送HTTP请求的方法,可用方法包括GET、POST等路径:目标URL路径(不包括服务器地址和端口)/可以写完整路径,但不规范内容编码:内容的编码方式,默认值为iso8859;一般都填入utf-8自动重定向:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter会自动重定向到新的页面,但是Jmeter是不记录重定向的过程内容。跟随重定向:HttpRequest取样器的默认选项,当响应code是3xx时,自动跳转到目标地址。与自动重定向不同,Jmeter会记录重定向过程中的所有请求响应,在查看结果树时可以看到服务器返回的内容,如有多个跳转则多个请求都会被记录下来,此为默认选项使用keepAlive:当该选项被选中时,jmeter和目标服务器之间使用KeepAlive方式进行HTTP通信,默认选中。对post使用multipart/from-data:当发送POST请求时,使用multipart/from-data方法或者application/x-www-form-urlencoded方法发送,默认不选中。与浏览器兼容的头:当勾选multipart/form-data时,勾选此项会截掉http请求头中的Content-Type和Content-Transfer-Encoding,而只发送Content-Disposition部分。参数:可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对,此时编码这个选项设置为UTF-8并勾选最好,防止参数值内含有ASCIIControlChars或者Non-ASCIIcharacters或者其他符号导致乱码问题。消息体数据:同请求一起发送的数据信息,这里可以支持多种数据格式,json、xml等;文件上传:同请求一起发送的文件信息,参数名称就是发送文件对应的参数,MINEType为资源媒体类型高级界面选项介绍实现:发送http请求的方式,可选项为java和HttpClient4,默认为HttpClient4连接:连接超时时间设置,单位为毫秒响应:响应等待超时时间设置,单位为毫秒从HTML文件获取所有内含的资源:当该选项被选中时,jmeter在发出HTTP请求并获得响应的HTML文件内容后,还对该HTML进行解析并获取HTML中包含的所有资源(图片、flash等)并行下载:设置是否使用自设资源池,勾选后可设置大小数量:资源池大小,默认为6网址必须匹配:URL匹配过滤,填写此项则只会下载与此内容项匹配的url的资源源地址:只用于http协议且Implementation为HttpClient4的情况,此属性用于启用IP欺骗。会重写了这个http请求使用的默认本地IP地址。用于Jmeter主机具有多个IP地址(即IP别名、网络接口、设备)的情况。该值可以是主机名、IP地址或网络接口设备,如“ey0”或“l0”或“wlan0”。代理服务器:代理服务器的相关配置信息保存响应为MD5哈希:选中该项,在执行时仅记录服务端响应数据的MD5值,而不记录完整的响应数据。在需要进行数据量非常大的测试时,建议选中该项以减少取样器记录响应数据的开销查看结果树介绍简要介绍查看结果树的内容、查看结果树保存的文件CSV配置元件●文件名:csv文件存储全路径●文件编码:默认的编码是UTF-8。●变量名称:和csv文件第一行的字段相对应,名称自定义,多个字段用逗号分隔●忽略首行:通常情况下csv的文件首行标注数据的含义,不是具体的数据,所以要设置忽略(设为true),前提是设置了变量名称才生效。●分割符:默认英文逗号分隔。●是否允许带引号:如果csv文件中有json数据,或者带有引号的数据,建议设为True●遇到文件结束符再次循环:如果文件执行结束了想重复执行数据,可以设置为True,多次循环。●遇到文件结束符停止线程:配置文件读取完毕之后,就结束当前线程。●线程共享模式:标示这个CSV数据文件作用范围是:所以线程/当前线程组/当前线程/编辑(自定义),默认方式:所有线程。user_name,password,phone,real_namejiujiu1,123456啾啾测试录1jiujiu2,123456啾啾测试录2jiujiu3,123456啾啾测试录3jiujiu4,123456啾啾测试录4jiujiu5,123456啾啾测试录5jiujiu6,123456啾啾测试录6jiujiu7,123456啾啾测试录7接口地址:路径:/post请求体{
"user_name":${user_name},
"password":${password},
"phone":${phone},
"real_name":${real_name}
}查看结果树可发现线程组只读区了csv第一行用户数据,如果想要读取csv所有行的用户数据,可以添加循环控制器来依次读取csv文件的数据行。怎么解决此问题,可在循环控制器内添加http请求和csv数据文件
设置循环控制器-循环次数为7,表示循环控制器内的组件会循环之行7次,读取csv前7行的用户数据循环控制器在循环控制器内添加http请求和csv数据文件,设置循环控制器-循环次数为7,表示循环控制器内的组件会循环之行7次,读取csv前7行的用户数据再次执行,查看结果树,可以看到循环控制器内的提取器执行了7次,依次读取csv文件的前7行用户数据json提取器接口地址当需要获取某个城市天气数据json时候,需要传入一个城市代码编码作为入参,地址:/api/weather/city/xxxxx,其中xxxxx即为城市代码。例如获取北京天气:/api/weather/city/101010100JsonPathTester,提取结果中的某个值,标准写法是$.key,其中key为返回结果map中的一个键,如果是多层则继续用.key即可。如果遇到key的value值为一个list,则使用.key[n],其中n为list中元素的编号JSON提取器Applyto:应用范围,一般默认为Mainsampleonly,可根据实际使用需求选择MatchNo.:取第几个数值,0代表随机,-1代表取全部数组数据,1代表取一个变量数值,与设置的变量名称有关,本次示例填-1(说明:如果填写1,后面引用变量的时候要用var1即可,如果填写−1,返回的是一个数组,后面引用变量的时候要用{var_1},${var_2}的形式)Computeconcatenationvar(suffix_ALL):匹配到的所有数值并保存,默认为空即可DefaultValue:取值失败时展示的内容,默认为空即可DebugSampler调试作用:可以用来调试,验证表达式是否正确正则表达式提取接口路径:/api/weather/city/101010100方法get断言元件判断返回是否符合预期。三种常见的断言元件(响应断言、JSON断言、BeanShell断言)响应断言APPlyto:
Mainsampleandsub-samples:作用于主取样器及对应子取样器
Mainsampleonly:仅作用于主取样器
Sub-samplesonly:仅作用于子取样器
JMeterVariable:作用于jmeter变量(输入框内可输入jmeter的变量名称)
测试字段:响应文本、响应代码、
响应信息、响应头部......
模式匹配规则:包括、匹配、Equals、字符串、否、或者
测试模式:可以添加/删除需要判断的内容,按钮“添加”、“删除”进行指定内容的管理。JSON断言在查看结果树这里先测试,测试ok了再直接放在JSON断言中JSON断言界面参数说明:名称:节点的名称,显示在查看结果树中,自己根据实际情况定义。注释:对该节点进行注释。断言存在JSON路径:断言JSON元素的路径。附加断言值:如果要使断言具有某个值,把这个值勾选上。如果写了(3)JSON元素的路径,要把这个值勾选上。匹配为正则表达式:如果要使用正则表示式,选中该复选框。预期值:JSON元素路径对应的值。反转断言:就是否的意思,即如果符合就失败。$表示跟节点。
[]表示数组,0表示第一个;$[0]
表示跟节点后的第一个对象。
data即key,这里要获取data的值,所以填写20240630sampler-jdbc请求Jmeter连接数据库mysql驱动下载官网:/downloads/connector/j/下载解压后将jar包放到jmeter安装目录lib下测试计划导入数据库驱动jar包配置JDBCConnectionConfigurationVariableNameforcreatedpool:连接名称随意,需要唯一标识,后面的JDBC请求中需要用到,所以需要与JDBC取样器中的名称一致,简单理解就是jdbcrequest的时候需要确定去请求哪个数据库MaxNumberofConnections:连接池中允许的最大数据库连接数,默认10,做性能测试时,建议填0MaxWait(ms):在连接池中取回连接最大等待时间,单位毫秒,默认10000,默认即可TimeBetweenEvictionRuns(ms):线程可空闲时间,单位毫秒,默认60000,默认即可
AutoCommit:自动提交sql语句,有三个选项:True、False、编辑(JMeter提供的函数设置),默认为true,默认即可TransactionIsolation:事务隔离级别,默认为DEFAULT,默认即可TestWhileIdle:当连接空闲时是否断开,默认为True,默认即可SoftMinEvictableIdleTime(ms):连接池中连接的最小空闲时间,以毫秒为单位。当连接池中的连接处于空闲状态且超过了“SoftMinEvictableIdleTime”的设定值时,连接池可能会选择回收这些空闲连接,默认为5000,默认即可ValidationQuery:验证sql语法,默认为select1,默认即可DatabaseURL:数据库连接URL,可以带上字符集characterEncoding=utf-8,也可允许多条sql执行allowMultiQueries=true,还可指定时区serverTimezone=UTC,比如jdbc:mysql://04:33066/u_backend?serverTimezone=UTC&characterEncoding=utf-8&allowMultiQueries=trueJDBCDriverclass:JDBC的类,默认为空,必填项,mysql就选择com.mysql.jdbc.DriverUsername:数据库的用户名Password:数据库的密码发送数据库请求引用数据库查询变量名称:随意命名VariableNameofPooldeclaredinJDBCConnectionConfiguration:要与JDBCConnectionConfiguration中的VariableNameforcreatedpool值保持一致!!QueryType:【查询】操作选择SelectStatement,【增删改】操作选择UpdateStatementSQLQurry:输入对应的sql语句Variablenames:对应sql查询结果的字段值,字段值有多少个,则对应值就有多少个。例如sql查有两个字段值:username,password,那么下面就对应两个变量resusername,respassword。username对应变量resusername,password对应变量respassword。HandleResultSet:默认为StoreasString,选择默认值即可,当选择此选项时,查询结果将以字符串的形式存储在变量中JMeter分布式集群---部署多台机器进行性能压力测试有些时候,我们在进行压力测试的时候,随着模拟用户的增加,电脑的性能(CPU,内存)占用是非常大的,为了我们得到更加理想的测试结果,我们可以利用jmeter的分布式来缓解机器的负载压力,分布到多台机器同时运行。1.J
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届江西省“山江湖”协作体高三联考物理试题(联考)试题含解析
- 阶段性复习的保安证试题及答案
- 陕西省煤炭建设公司第一中学2025届第二学期高三年级期末质量调查语文试题含解析
- 通辽职业学院《商务应用文写作》2023-2024学年第二学期期末试卷
- 2024-2025学年河北省石家庄市晋州一中实验班第二学期高三期末调研考试生物试题含解析
- 科技助力保安证考试试题及答案
- 山东信息职业技术学院《生命科学前沿》2023-2024学年第一学期期末试卷
- 西北师范大学《运筹学A》2023-2024学年第二学期期末试卷
- 解析考点的保安证试题及答案
- 齐齐哈尔市克山县2024-2025学年三年级数学第二学期期末检测模拟试题含解析
- 3.2依法行使权利 课件 -2024-2025学年统编版道德与法治八年级下册
- 2025年贵州遵义正安县事业单位招聘工作人员历年高频重点模拟试卷提升(共500题附带答案详解)
- 日常采购维修合同范本
- 2024-2025年第二学期一年级语文教学进度表
- 企业员工职务犯罪预防
- 2025年贵州省高职单招医学类职业技能测试题库及答案(备考刷题)
- 5《水污染》教学设计-2023-2024学年科学六年级下册冀人版
- Polarion-ALM支持机载软件研发生命周期管理和合规性认证最佳实践
- 幼儿园开学教职工安全教育培训
- 2025-2030年中国发酵豆粕行业运行态势及投资前景规划研究报告
- 酒店建设项目施工总承包合同
评论
0/150
提交评论