Jmeter的使用简介及实例(上)

发表于:2022-9-27 09:52

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:IT之家

  一、安装及配置环境
  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),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号