最近想学一些关于性能测试方面的知识,其实之前已经初步了解了Jmeter工具,它是一个轻量级的性能测试工具,开源并且免费,相比于Loadrunner来说用起来更简便。
JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式来创建断言。
Jmeter的工作原理:向服务器提交请求;从服务器获取请求返回的结果
下载地址:
http://jmeter.apache.org/download_jmeter.cgi。下载后,直接解压,运行bin/jmeter.bat即可
第三方插件下载地址:
http://code.google.com/p/jmeter-plugins/downloads/list安装jmeter plugins
运行环境:
Jmeter要求支持JAVA运行环境变量,且版本满足JVM1.3或更高。配置环境变量
JAVA_HOME:jdk的安装路径,Path中加入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
1、双击bin目录下的jmeter.bat文件,运行jmeter
2、Jmeter简单压力测试举例及介绍
新建测试计划
a、测试计划:是使用Jmeter进行测试的起点,是其他测试元件的容器,一个完整的测试计划包括一个或者多个线程组、逻辑控制器、取样器、监听器、配置元件
用户自定义的变量:用户可以自己定义的变量,使用此变量时,直接${变量名}引用。 eg:${IP},${port}(在测试计划里面定义的变量属于全局变量)
新建线程组-----线程组:测试里每个任务都要线程去处理,所有任务必须在线程组下面创建。
注意:线程设置那一块,如果要测试多线程,个人建议,少量的增加,可以以20,30往上面递增。由于是用JAVA编写的工具,工具本身的性能大家都清楚,如果并发线程太大了,小心服务没事,JMeter先挂掉了。基本上100-200,一台机器跑是没有问题的。
新建HTTP请求
所填数据如下图,假如有一个接口:http://12.78.cn/ab/db/login.do?u=123456&p=54321
则,服务器或IP填写:12.78.cn,端口号:有则填无则不填,HTTP请求:可以直接在Implementation选择HTTP,也可以如图所示,路径:/ab/db/login.do,参数填写在Parameters一栏,若参数是json数据包,则填写在Body Data里面
新建监听器---察看结果树
点击运行,可以看到结果树的数据,如图所示,其中响应数据,是接口执行之后的返回结果。
添加断言
确定接口执行成功或失败的结果,可以添加断言判定接口是否执行成功或失败
添加断言结果,可以查看接口是否执行了断言
如图所示,我在登录接口设置了断言为登录成功,则当用户登录成功之后,断言便会执行成功,在断言结果中可以查看到相关接口,
若断言执行失败,则在断言结果和察看结果树中会发现失败