一.jmeter简介
1.jmeter是啥:
Apache jMeter 是 Apache 组织发开放源代码项目,是一个纯 java桌面应用,用于压力测试和性能测量,他最终被设计用于web应用测试但后来扩展到其它测试领域。
二.JMeter的作用
1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
2.完全的可移植性和100% 纯java。
3.完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
4.完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
5.缓存和离线分析/回放测试结果
三.Jmeter能干嘛:
JMeter是Apache组织开发的开源项目,设计之初是用于做性能测试的,同时它在实现对各种接口的调用方面做的比较成熟,因此,常被用做接口功能测试和性能测试。它能够很好的支持各种常见接口,如HTTP(S)、WebService、JDBC、JAVA、FTP等,并以多种形式展现测试结果。当然,以上并不是jmeter的全部功能,还有很多地方需要深入探索,而且还有很多插件不断出现,相信以后越来越强大。
四.我们为什么使用Jmeter:
开源免费,基于Java编写,可集成到其他系统可拓展各个功能插件支持接口测试,压力(负载和压力)测试等多种功能,支持录制回放,入门简单
相较于自己编写框架活其他开源工具,有较为完善的UI界面,便于接口调试
多平台支持,可在Linux,Windows,Mac上运行
五.Jmeter主要组件介绍
测试计划(Test Plan)是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。
线程组(Thread Group)代表一定数量的并发用户,它可以用来模拟并发用户发送请求。
取样器(sampler)定义实际的请求内容,被线程组包含,我们主要用HTTP请求。
监听器(Listener)
逻辑控制器(Logic Controller)
断言(Assertions)
配置元件(Config Element)
前置处理器(Pre Processors)和后置处理器(Post Processors)
定时器(Timer)
六.利用Jmeter做功能测试有以下优点:
1.不依赖于界面,如果服务正常启动,传递参数明确就可以添加测试用例,执行测试
2.测试脚本不需要编程,熟悉http请求,熟悉业务流程,就可以根据页面中input对象来编写测试用例。
3.测试脚本维护方便,可以将测试脚本复制,并且可以将某一部分单独保存。
4.可以跳过页面限制,向后台程序添加非法数据,这样可以测试后台程序的健壮性。利用badboy录制测试脚本,可以快速的形成测试脚本
5.Jmeter断言可以验证代码中是否有需要得到的值使用参数化以及Jmeter提供的函数功能,可以快速完成测试数据的添加修改等