一、安装及配置环境
1.安装
·java环境
该软件需要java环境,安装jdk,在百度自行查找安装。
环境变量配置:变量名JAVA_HOME值:jdk的安装路径。
变量名CLASSPATH值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
变量名Path值:追加;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
二、验证
Win+RCmd打开控制台输入java。
三、Jmeter的简单使用
1.打开jmeter
打开Jmeter安装包,进入\bin中,找到“ApacheJMeter.jar”或"jmeter.bat",双击打开即可。
2.jmeter线程组建立线程组步骤:在下图打开的Jmeter页面中,右键“测试计划”->“添加”->"Threads(Users)"->“线程组”
线程属性
线程数:虚拟用户数,一个虚拟用户占用一个进程或线程,设置的虚拟用户数也就是压测并发的线程数。
Ramp-UpPeriod(inseconds):准备时长,设置的虚拟用户数全部启动的时间,如果线程数为20,准备时长为10s,那么需要10秒启动20个线程,也就是平均每秒启动2个线程。
循环次数:每个线程发送请求的个数。如果线程数为20,循环次数为100,那么每个线程发送100个请求,总请求数为:20*100=2000;如果勾选了“永远”,那么所有线程会一直发送请求,直到手动点击工具栏上的停止按钮,或者设置的线程时间结束。
取样器错误后要执行的动作
StartNextThreadLoop:线程当前循环错误,忽略错误,执行下一个循环。
停止线程:只限当前线程停止,不影响其他线程执行。
3.jmeter发送HTTP请求
步骤:右键“线程组”->“添加”->“Sample”->“HTTP请求”,输入“服务器名称或IP”,对应的端口号,http默认端口号80,可以不写。
(例如:http://api.zhongchou.cn/user/login?v=1)
1)设置目标信息--HTTP请求
1号位置填写host:api.zhongchou.cn
2号位置填写目标的端口号,绝大部分情况的http请求的端口号是80,https的端口号是443。其他端口号用的极少,需要写明端口号。http://172.16.5.177:8092/test/beta.apk,端口号就是8092。
3号位置填写具体的路径。通俗的讲就是域名之后的玩意。/user/login?v=1
2)设置请求参数
登录接口绝大部分是post请求,画圈部分的方法需要改成post。
4号位置是个添加,点击一下即可。
5号位置是参数名称,本例的“用户名”是identity,“密码”是password,写进去即可。
6号位置是参数值,identity对应13581698559,password对应123456。
4.jmeter参数化
方式A:借助函数助手的方式,功能较弱
步骤:单击菜单选项--函数助手对话框--选择_CSVRead。
CSVfiletogetvaluesfrom|*alias:对应的值填写文件绝对路径。(如果文件中有中文,则保存文件时,需要把编码改为UTF-8)
CSV文件列号|next|*alias:获取文件参数项的序列号即下标:
方式B:jmeter中的配置元件(CSVDataSetConfig)
步骤:选中线程组点击右键----添加----配置元件----CSVDataSetConfig
说明:
Filename:----参数项文件
FileEcoding:----文件的编码,设置为utf-8
VaiableNames:----文件中各列所表示的参数项,各参数项之间利用逗号分隔
Delimiter:----文件中使用的是逗号分隔,则填写逗号;如果使用的是TAB,则填写\t(如果此文本文件为CSV格式的,默认用英文逗号分隔)
Ignorefirstline(onlyusedifVariableNamesisnotempty):表示从文件中取值时,第一行的值是否要忽略
Allowquoteddata:----False则文本中参数原样获取,True则不会,例如文本中参数为“A1”,False时取的就是“A1”,True取的就是A1
RecycleonEOF:----True=当读取文件到结尾时,再重头读取文件,|False=当读取文件到结尾时,停止读取文件
StopthreadonEOF:----当RecycleonEOF为False时,当读取文件到结尾时,停止进程;当RecycleonEOF为True时,此项无意义
5.响应断言
步骤:选中一个取样器,右键----添加----断言----选中“响应断言”
说明:
Applyto:
Mainsampleonly:----断言仅用于主取样器
Sub-samplesonly:----断言仅用于子取样器
JmeterVariable:----断言将被施加到命名变量的内容
要测试的响应字段:
响应文本:服务器返回的文本内容。
响应代码:匹配响应代码,比如HTTP请求中“200”代表成功。
响应信息:匹配响应信息,处理成功返回“成功”或“OK”字样。
ResponseHeader:匹配响应头中的信息。
模式规则匹配:
包括:返回结果包括制定的内容,支持正则匹配。
SbuString:与包括基本一致,都是指返回结果包括你指定的内容,但不支持正则字符串。
正则匹配:正则表达式必须能匹配整个返回值,而不是返回值的一部分。
Equals:返回结果与响应断言完全一致。
否:就相当于取反。
案例:若断言结果为true,勾选“否”后,最终断言结果为false。
若断言结果为false,勾选“否”后,最终断言结果为true。
6.正则提取器
步骤:HTTP请求上右键----后置处理器----正则表达式提取器。
说明:
引用名称:下一个请求要引用的参数名称,如填写A,则可用$(A)引用。
正则表达式:
()括起来的部分就是提取的;.匹配任何字符串;+一次或多次;*0次或多次;?在找到第一个匹配项后停止。
模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到第几个值给title。
匹配数字:0代表随机取值,1代表全部取值,通常情况下填0。
缺省值:如果参数没有取得到值,那默认给一个值让它取。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理