性能测试培训:Ajax接口级性能测试之jmeter版
poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标。在poptest认为工具不是问题,jmeter还是loadrunner都是工具级别的,真的提高性能测试水平,还是需要具备一定架构知识,网络知识,服务器方面的知识,poptest通过大量的实战案例的讲解提高学员的实战经验,尽快上手性能测试。(大家对课程感兴趣,请加qq:908821478)
1. 被测程序环境部署
对于自动化测试来说,尤其是本文想通过http请求直接做测试,按照一般思路都是先经过登录环节,但是这个遇到的问题有:构造cookie比较麻烦,性能测试额外增加init环节。其实通过一些简单改造,是可以绕过登录直接发送POST请求得到结果!、
首先:修改web.xml中的filter,注释掉验证权限的filter,一般写法如下:
<filter>
<filter-name>Filter</filter-name>
<filter-class>
com.xxx.xxx.CheckFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>Filter</filter-name>
<url-pattern>*.ajax</url-pattern>
</filter-mapping>
其次:有一些代码中会做一些session权限的验证,比如常见的有从session去取出用户的id,post请求时再取查一下具体操作的数据是否属于用户。这种情况可以视情况修改代码,比如code中写一个具体的id进去。
2. Case编写
第一步:新建测试计划
第二步:新建线程组,这里配置线程数和循环次数,如图中意味着run 20*1=20次
第三步:一个线程组内可以新建多个case,如下图:
第四步:配置POST请求
第五步:添加报表,如聚合报告
3. linux下执行
linux下的jmeter执行方式支持脚本调度,可扩展为持续集成的支持模式。linux下的jmeter版本与windows的一致,有shell脚本可供调用!依赖的jdk为1.5版本!
运行jmeter.sh如下:
sh /home/work/jmeter24/bin/jmeter.sh -n-t ajax_request_test.jmx