Apache JMeter
Apache JMeter应用是一款开源软件,一个100%纯Java应用被设计用于装载功能行为测试和衡量性能指标。它最初被设计用于Web应用但后来扩展了其它的测试功能。
我能用它做什么?
Apache JMeter可以用来测试静态资源性能和动态资源性能,Web动态引用。
它可以用来模拟一个服务器、一组服务器、网络或者对象的大量负载来测试它的强度或者分析不同负载强度下的整体性能。
Apache JMeter特性包括:
- 多种不同类型应用/服务/协议的负载和性能测试能力
- Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …)
- SOPA/ REST 网络服务
- FTP
- 通过JDBC连接数据库
- LDAP
- 通过JMS实现的面向消息中间件(MOM)
- 邮件 - SMTP(S), POP3(S) 和 IMAP(S)
- 原生命令或者shell脚本
- TCP
- Java对象
- 允许快速制定测试计划录制(从浏览器到原生应用)、构建和调试的完整特性测试环境
- 从任何兼容Java的操作系统(比如Linux,Windows,Mac OSX)以命令行模式(旧称无界面模式或者无头模式)装载测试
- 一套完整的便于展示的动态HTML报告
- 容易通过从最流行的响应格式(HTML, JSON, XML, 或者任何文本格式)提取数据的能力关联
- 完整的移植性和百分之百Java纯度
- 完整的多线程框架允许通过多个线程并发采样,而且支持通过独立线程组对不同功能同时采样
- 测试结果缓存和离线分析、重放
- 高度可扩展的内核
- 可插拔采样器允许无限制的测试容量
- 可编写脚本的采样器(兼容JSR223语言,比如Groovy和BeanShell)
- 使用可插拔定时器可以选择多个负载统计
- 数据分析和可视化插件允许强大的扩展性和个性化
- 给测试提供动态输入和数据操作功能
- 通过Maven/Gradle和Jenkins的三方开源库容易实现持续集成
我怎么使用它?
- 使用JMeter来理解怎么使用它
- 使用组件参考来获取每个测试元素的详细信息
- 使用功能参考来获取每个功能的详细信息和示例
- 使用属性参考来查看允许定制JMeter的所有属性
- Javadoc接口文档
- JMeter常见问题(Wiki)
- JMeter维基
- 高级应用:构建JMeter和插件
JMeter不是一个浏览器
JMeter不是浏览器,它在协议层工作,至于涉及到网络服务和远端服务,JMeter像一个浏览器(或者说更像多个浏览器);然而,JMeter不会执行浏览器支持的所有操作。特别地,JMeter不会执行HTML网页中发现的JavaScript,它也不会像浏览器那样渲染HTML页面(它可能像HTML查看响应数据,但是时机不会包含在全部采样中,而是只有一个线程的一个采样在一个时间会展示)。
教程
更多关于JMeter的信息