性能测试基础---jmeter入门
·Jmeter入门
·Jmeter的简介:
·Jmeter是一款基于纯JAVA语言开发的开源的性能测试工具。
·Jmeter的下载:
·最新版:http://jmeter.apache.org/download_jmeter.cgi
·历史版本:https://archive.apache.org/dist/jmeter/binaries/
PS:如果是windows下使用,则下载zip压缩包,如果linux平台使用,则下载tgz。
·安装和使用:
Jmeter是基于java的应用,所以需要有java环境。
·JDK的安装和配置:
·Java的版本,一般来说下载se的版本,然后版本号只需要和Jmeter的要求匹配。
·环境变量的配置
需要配置的环境变量有两个:
·JAVA_HOME:值就是java的安装路径,不包含bin目录。
·PATH变量:是修改而不是新建,将“%JAVA_HOME%\bin;”加入到path变量的最前面。
PS:通过java -version和javac -version进行检测即可。
要保证java和javac的版本的一致性。
·Jmeter的目录介绍
·bin目录:该目录存放了jmeter的主jar包,启动脚本,配置文件。并且该目录是jmeter默认的日志存放目录。
·ApacheJmeter.jar:这是jmeter的主jar包(主类所在的包),可以通过java命令直接启动该jar包达到启动运行jmeter的效果。
·Jmeter.bat/Jmeter.sh:这是官方给的Jmeter的启动脚本,然后右键编辑,是可以设置jmeter启动时的一些JVM参数的。
set HEAP=-Xms1024m -Xmx1024m
set METASPACE=-XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=512M
PS:一般来说,metaspace 256M就够用,最多给到512M。
Xms和Xmx的值保持一致,建议不要超过物理内存的50%,通常为物理内存最大值的25%即可。
·Jmeter-server.bat/jmeter-server:是Jmeter的联机负载所需要的服务启动脚本。
·Jmeter.properties:该文件是Jmeter的主配置文件。jmeter超过80%以上的配置都是在该文件中完成。
PS:配置文件修改,需要重启jmeter才会生效。
·docs目录:该目录下存放的是jmeter官方的API文档。
·extras目录:该目录存放的是jmeter和其它应用集成所需要的一些文件。主要是jmeter和ant集成所需的文件。
·lib目录:该目录是jmeter启动时的默认的classpath路径。这就意味着在使用jmeter进行测试的过程中,任何需要做import操作的类,都必须以jar包的形式存在于lib目录下。
PS:一旦lib目录下的jar包发生改变,则需要重启jmeter才能有效。
·lib\ext目录:该目录是jmeter用来存放组件、第三方组件和插件的目录。
通常来说我们下载的组件和插件、自定义的组件和插件都需要放在该目录。
·printable_docs目录:该目录下存放的是jmeter官方的使用帮助文档。
·Jmeter的脚本生成:
Jmeter的脚本生成方式很多,但是可以分为三类:
·第三方工具录制。
常用的工具有两种:badboy、blazemeter。
·badboy是基于内置的浏览器来进行录制的。
·缺陷:因为内置浏览器的内核是IE的内核,所以可能会因为浏览器的兼容性导致无法使用badboy进行录制。
录制的脚本在jmeter打开时,一定要对step组件执行一次下列操作:
右键step组件--change controller--逻辑控制器,选择简单控制器。
·blazemeter是提供了chrome浏览器的插件,可以在chrome浏览器中直接录制。
·自带的http代理服务器方式录制。
·代理服务器录制操作详解:
第一步:右键测试计划,添加组件--Threads(Users)--线程组
第二步:右键测试计划,添加组件--配置元件--http cookie管理器。
第三步:右键工作台,添加非测试元件--http代理服务器。
PS:以上三步没有先后之分。
第四步:配置http代理服务器组件,并且启动。
配置项:
·端口:要求在当前机器中没有被占用即可。
检测命令:netstat -an
netstat -an|findstr "端口号"
·目标控制器:选择第一步所添加的线程组。作用是将录制的脚本存放在指定的控制器中,即放在线程组中。
·过滤器的使用:
第五步:设置客户端,使得其通过代理服务器访问被测服务器。
·客户端可能是PC,也可能是移动设备。
如果是pc,则通过windows下的internet选项设置代理。
internet选项--连接--局域网设置,勾选为Lan使用代理服务器。
地址:填写Jmeter所在的机器的IP。
端口:填写Jmeter代理服务器所设置的端口号。
如果是移动设备,则要求移动设备和Jmeter所在的机器在同一个局域网内。(WLAN)
在WLAN高级选项中设置代理。地址和端口同上。
PS:如果要录制的应用使用了https协议的话,则需要将jmeter生成的根证书安装在客户端机器上。
第六步:停止录制,还原客户端代理设置,停止http代理服务器。
·抓包手写。
该方式是能够适用任何情况下的脚本开发。但是要求测试人员具备以下素质:
·熟悉通信协议。
·掌握至少一种抓包工具。
·熟练掌握至少一种封包工具。