一.Jmeter环境配置
下载JDK 8或者以上的版本,jmeter 3.1版本。
右击“此电脑”-“属性”-“高级系统设计”-“环境变量”:
变量名:JAVA_HOME
变量值:Java安装目录
变量名:Path
变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
变量名:JMETER_HOME
变量值:Jmeter安装目录
变量名:CLASSPATH
变量值:
%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JMETER_HOME%\lib\exApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar; %JMETER_HOME%\lib/logkit-2.0.jar;
二.Google:POSTman
单击此处,选择“更多工具”---->“扩展程序”。
然后
三.Firefox:RESTClient
与谷歌类似
四.Java:jmeter
元件的作用域
配置元件(config elements):会影响其作用范围内的所有元件。
前置处理程序(pre-processors):在其作用范围内的每个sampler元件之前执行。
定时器(timers):对其作用范围内的每个sampler有效。
后置处理程序(post-processors):在其作用范围内的每一个sampler元件之后执行。
断言(assertions):对其作用范围内的每个sampler元件执行后的结果执行校验。
监听器(listeners):收集其作用范围的每一个sampler元件的信息并呈现。
Sampler元件:不和其它元件互相作用,因此不存在作用域的问题。
执行顺序:配置元件–>前置–>定时器–> sampler–>后置–>断言–>监听器。
如在同一作用域范围内有多个同一类型的元件,则这些元件按照它们在测试计划中的上下顺序依次执行。
1、基本操作
1)线程组:
2)聚合报告
单位:毫秒
保存文件的后缀.jtl
Label----每个请求的名称,比如HTTP请求等
#Samples----发给服务器的请求数量
Average----单个请求的平均响应时间
Median----50%请求的响应时间
90%Line----90%请求响应时间
95%Line----95%请求响应时间
99%Line----99%请求的响应时间
Min----最小的响应时间
Max----最大的响应时间
Error%----错误率=错误的请求的数量/请求的总数
Throughput----吞吐量即表示每秒完成的请求数
Received KB/sec----每秒从服务器端接收到的数据量
Sent KB/sec----每秒从客户端发送的请求的数量
2、jmeter的参数化(常用)
1)CSV data set config参数化
CSV:逗号分隔值
说明:
Filename — 参数项文件;
File Encoding — 文件的编码,设置为UTF-8;
Vaiable Names — 文件中各列所表示的参数项;各参数项之间利用逗号分隔;参数项的名称应该与HTTP Request中的参数项一致。
Delimiter — 如文件中使用的是逗号分隔,则填写逗号;如使用的是TAB,则填写\t;(如果此文本文件为CSV格式的,默认用英文逗号分隔)
Recycle on EOF? — True=当读取文件到结尾时,再重头读取文件
False=当读取文件到结尾时,停止读取文件
Stop thread on EOF? — 当Recycle on EOF为False时,当读取文件到结尾时,停止进程,当Recycle on EOF为True时,此项无意义。
2)函数助手
单击“选项”–>“函数助手对话框”,打开如下对话框进行相关的设置并生成参数。
在此处引用生成的参数。
3)用户参数
右击线程组,选择“添加”–>“前置处理器”–>“用户参数”。
添加参数信息:
“名称”即变量名;
“用户”即变量值,可对应多个;
“每次迭代更新一次”即依据线程组设置的循环次数每次对变量迭代新的变量值
将设置的参数名称以${参数名}格式写入:可以在响应断言/HTTP请求的路径/发送数据等处使用。
3、集合点(定时器)
集合的位置:需放在操作之前。
4.检查点(断言)
一般成功就一行,失败多行。
断言持续时间:右击对象,“添加”–>“断言”–>“断言持续时间”。
5.动态关联
1)正则(常用)
说明:
6.图形监控:JMeterPlugins-Standard
将JMeterPlugins.jar包复制到jmeter的lib目录下的ext目录,然后重启jmeter即可。
在使用之前,我们需要运行/serverAgent/startAgent.bat这个文件,我们需要将serverAgent目录及下面的文件复制到我们测试的服务器上,然后点击打开(我这里是本机,直接在本机上面打开这个应用系统即可),它的默认端口为4444。
7.FTP程序
8.数据库mysql
步骤:
1).mysql驱动:mysql-connector-java.jar,将该包添加到测试计划中。
2).Jmeter>jdbc配置:右击线程组,“添加”–>“配置元件”–>“JDBC connection configuration”写入数据库信息。
说明:基础配置项如上方所示。
Database URL:jdbc:mysql://mysql_host_ip:mysql_port/mysql_db_name
JDBC Driver class:com.mysql.jdbc.Driver
username:数据库用户名
password:数据库密码
3).Jmeter>jdbc请求:右击线程组,“添加”–>“sampler”–>“JDBC Request”并写入SQL语句。
注:如有多条SQL语句,将SQL语句放在CSV文件中,在jdbc请求中利用参数代替SQL语句.
4).断言、结果数
五.插件:badboy
是一个免费的web自动化测试工具,用于浏览器的模拟,具有脚本的录制和回放,支持将脚本导出为JMeter脚本。
下载网址:https://badboy.en.softonic.com/
安装成功:默认badboy处于录制状态
将录制脚本导出:单击菜单栏中的“file”–>“export to jmeter”,将脚本以jmx格式导出。然后可在jmeter中打开进行相关操作。
1、检查点
选中搜索文本,单击“Tools”–>“Add Assertion for Selection”,设置检查点。
选中”step 1”并右击,选择”properties”,打开其对话框,在“step”选项卡下选中”for each valve of variable”,确认后可进行回放。
2、参数化
1)参数化–文本
① 建立参数化列表
② 在请求中替换${参数名称}
③ 中文可能有乱码,更改请求中的编码即可(注意:修改ie的值)
注意:如不能正常回放,可尝试修改编码。
2)参数化–数据库
A. Odbc:在“控制面板”中的管理工具或者直接搜索数据源,选中“设置ODBC数据源”,在其对话框配置相关的数据源。
B.Data source放到脚本的最前端:在’Tools’中,将’data source’拖到脚本的最顶端。
3、并发
在菜单”Tools”下,选择“Run backgroud threads”。
4、测试报告
在“View”–>”report”下有三种测试报告。
5、断点
右击需添加断点处,选择“add break point”。