Apache JMeter™
Apache JMeter™应用程序是开源软件,一个 100% 纯 Java 应用程序,旨在加载测试功能行为和测量性能 。它最初是为测试 Web 应用程序而设计的,但后来扩展到其他测试功能。
我能用它做什么?
Apache JMeter 可用于测试静态和动态资源、Web 动态应用程序的性能。
它可用于模拟服务器、服务器组、网络或对象上的重负载,以测试其强度或分析不同负载类型下的整体性能。
Apache JMeter 功能包括:
- 能够加载和性能测试许多不同的应用程序/服务器/协议类型:
- Web - HTTP、HTTPS(Java、NodeJS、PHP、ASP.NET,...)
- SOAP / REST Web 服务
- FTP
- 通过 JDBC 的数据库
- LDAP
- 通过 JMS 的面向消息的中间件 (MOM)
- 邮件 - SMTP(S)、POP3(S) 和 IMAP(S)
- 本机命令或 shell 脚本
- TCP
- Java 对象
- 功能齐全的测试 IDE,允许快速记录测试计划(从浏览器或本机应用程序)、构建和调试。
- CLI 模式(命令行模式(以前称为非 GUI)/无头模式)可从任何 Java 兼容操作系统(Linux、Windows、Mac OSX 等)进行负载测试
- 完整且可随时呈现的动态 HTML 报告
- 通过从最流行的响应格式、 HTML、JSON、 XML或任何文本格式中提取数据的能力轻松关联
- 完全的可移植性和100% Java 纯度。
- 完整的多线程框架允许多个线程同时采样和不同线程组同时采样不同功能。
- 缓存和离线分析/重放测试结果。
-
高度可扩展的核心:
- 可插拔采样器允许无限的测试能力。
- 可编写脚本的采样器(与Groovy和 BeanShell等 JSR223 兼容的语言)
- 可以使用可插入计时器选择几个负载统计信息。
- 数据分析和可视化插件允许很好的可扩展性和个性化。
- 函数可用于为测试提供动态输入或提供数据操作。
- 通过Maven、Gradle 和 Jenkins 的3 rd方开源库轻松实现持续集成。
我该怎么做?
- 使用 JMeter了解如何使用它
- 组件参考具有每个测试元素的详细信息
- 函数参考,包含每个函数的详细信息和示例
- 允许您自定义 JMeter 的所有属性的属性参考
- Javadoc API 文档
- JMeter 常见问题解答(维基)
- JMeter 维基
- 构建 JMeter 和附加组件以供高级使用
JMeter 不是浏览器
JMeter 不是浏览器,它在协议级别工作。就 Web 服务和远程服务而言,JMeter 看起来像一个浏览器(或者更确切地说,是多个浏览器);但是 JMeter 并不执行浏览器支持的所有操作。特别是,JMeter 不执行 HTML 页面中的 Javascript。它也不像浏览器那样呈现 HTML 页面(可以将响应视为 HTML 等,但时间不包含在任何示例中,并且一次只显示一个线程中的一个示例)。