jmeter部署使用

1、运行环境
Jre
https://www.oracle.com/java/technologies/javase-jre8-downloads.html

jmeter部署使用_第1张图片

2、下载路径
(1)http://jmeter.apache.org/download_jmeter.cgi
(2)下载.zip
    jmeter部署使用_第2张图片
3、环境变量配置
(1)classpath变量的值是
%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;
(2)JMETER_HOME变量的值是apache-jmeter-5.3的解压路径
4、启动方式

jmeter部署使用_第3张图片
双击bin文件夹下的jmeter.bat,中文设置在jmeter.properties中将language=en改为language=zh_CN
5、分布式压测部署
(1)执行机(Slave)和控制机(Controller也称调度机)
(2)基于SSL的配置
①执行机Slave 配置
1)生成rmi_keystore.jks证书文件
a.双击create-rmi-keystore.bat,生成rmi_keystore.jks证书文件,注意最后两项只能输入(是否正确)y和(密钥口令)编辑打开create-rmi-keystore.bat中的-storepass后的单词(默认是changeit)。如果.bat打不开闪退了,则说明cmd不能执行keytool 或已经生成此文件。

jmeter部署使用_第4张图片

b.如果修改了密钥口令,则需要修改并启用jmeter.properties中的,

将其后的密码改为修改后的密钥口令。
2)启动执行机Slave的jmeter服务,双击jmeter-server.bat:

jmeter部署使用_第5张图片
表示配置完成,等待控制机调用。
②控制机配置:
1)远程slave配置,端口默认1099可不配置

jmeter部署使用_第6张图片

2)重启jmeter,可在运行中远程启动或远程启动所有调用执行机

jmeter部署使用_第7张图片

(3)http连接(不需要证书)
①控制机和执行机都需要将jmeter.properties中的server.rmi.ssl.disable=false改为true并启用

jmeter部署使用_第8张图片

②Slave启动jmeter -server.bat,成功后如下

③同样的配置controller控制机,启动远程
(4)异常情况
①日志查看

jmeter部署使用_第9张图片

②缺少SSL证书或未去掉SSL连接:

③三处SSL密钥不一致:


④执行机Slave的jmeter -server.bat未启动或未连接正确的端口

jmeter部署使用_第10张图片


执行机Slave对应的jmeter.properties需要启用server_port=2099:

⑤端口占用:


6、插件安装
(1)作用:需要一些额外的功能,比如:需要自定义线程的变化,可以安装Custom Thread Groups插件。
(2)安装:首先安装插件管理功能,https://jmeter-plugins.org/install/Install/,点击plugins-manager.jar即可下载,保存到lib/ext文件夹下;

(3)重新启动jmeter,在菜单的选项最下方可打开插件管理。

jmeter部署使用_第11张图片

(4)打开插件管理,进入Available Plugins选项,搜索对应的插件勾选

(5)点击右下角的申请 重启按钮。

jmeter部署使用_第12张图片

7、使用简要

  1. 测试计划
    1. 可以设置整个计划的全局变量,比如访问ip、端口以及访问工程和用户名密码等等。设置用户定义的变量,使用${}引用这些变量;

使用例子:
jmeter部署使用_第13张图片

jmeter部署使用_第14张图片

      •  
    • HTTP请求默认值

根据位置不同,作用范围也不相同

作用整个测试计划,都使用相同的http请求ip和端口。

    1. 察看结果树
      • 作用:记录每个请求的请求头、请求信息、响应信息、响应头以及执行结果等等
      • 数据写入一个文件:  路径使用/test/test.jtl(文件会被存储到对应的存储盘根目录下)和./test/test.jtl(文件会被存储到jmeter的bin文件夹下)。
    2. 线程组:

jmeter部署使用_第15张图片

      • setUp线程组、线程组、tearDown线程组,一般setUp线程组是在线程组之前执行的准备(比如:用户登录 获取token等等),tearDown线程组是结束后的操作。
      • jp@gc - Stepping Thread Group (deprecated)自定义线程组,根据图形设置压力测试等等,需要安装Custom Thread Groups插件。
    • HTTP请求
      • 设置Http请求的路径、方式、参数等等,其中设置跟随重定向此处会导致一个请求触发多个响应结果。jmeter部署使用_第16张图片

 

      • 需要设置http请求的请求头信息 cookie等等,都可以添加配置元件中的工具。
    • HTTP信息头管理

jmeter部署使用_第17张图片

    1. 正则表达式提取器

jmeter部署使用_第18张图片

      • 注意选择提取的位置:信息头提取session
      • 引用名称:使用时放入${}的参数名称
      • 正则表达式:匹配字符串,其中()表示要提取的值,.表示匹配任何字符串,+表示一次或多次,?表示在找到第一个匹配项停止;$1$表示获取正则表达式中第一个()匹配的值。
      • 作用域:正则表达式提取器提取的值只能在线程组内部使用。
    • BeanShell 后置处理程序

jmeter部署使用_第19张图片

      • 作用域:可生成全局变量,在整个测试计划中使用。
      • 参数:传递给BeanShell后置处理程序的参数,通过bsh.args[0]获取值,通过__setProperty函数设置全局属性。
    • JSON断言

jmeter部署使用_第20张图片

      • 通过对响应文本json解析,判断响应是否成功
    • 参数设置
      • 用户参数

jmeter部署使用_第21张图片

 

可以设置多个变量,每个变量可以设置多个值。勾选迭代,会使使用时每次遍历使用。

      • 用户定义的变量

jmeter部署使用_第22张图片jmeter部署使用_第23张图片

        1. 可以设置单个值的多个参数。
      1. CSV数据文件设置:

jmeter部署使用_第24张图片jmeter部署使用_第25张图片

        1. 参数文件以.dat结尾,以UTF-8编码格式另存为;
    1. JSON提取

jmeter部署使用_第26张图片

 

      •  
    • 响应断言

jmeter部署使用_第27张图片

    1. 其他

 

 

你可能感兴趣的:(测试工具,java,压力测试,jmeter)