نرمافزار Apache JMeter یک نرمافزار Open Source و یک برنامه جاوایی ۱۰۰% خالص(Pure Java Application) است که برای اِعمال تست بار(Load Testing) روی رفتارهای Functional و سنجش میزان Performance، طراحی شده است. این ابزار در اصل برای تست Web Applicationها طراحی شده است اما به دیگر Test Functionها نیز گسترش یافته است.
ممکن است Apache JMeter برای تست Performance روی منابع Dynamic و Static و همچنین Web Dynamic Applicationها استفاده شود.
این ابزار قادر است یک بار(Load) سنگین روی یک سرور، گروه سرورها، شبکه یا Object را شبیهسازی نماید تا دوام و استحکام بخش تحت تست را بررسی کرده و یا Performance کلی را زیر انواع Loadهای مختلف تحلیل کند.
امکانات Apache JMeter عبارتند از:
- توانایی برای تست Load و Performance بسیاری از انواع مختلف اپلیکیشنها/سرورها/پروتوکلها:
- (…Web-HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET
- SOAP/REST Webservices
- FTP
- Database via JDBC
- LDAP
- (Message-oriented middleware (MOM از طریق JMS
- (Mail-SMTP(S), POP3(S), IMAP(S
- Native Command یا Shell Scriptها
- TCP
- Java Objectها
- یک Test IDE با امکانات کامل که Recording، Building، و دیباگ سریع را برای Test Plan به ارمغان میآورد
- (Command-line mode (Non GUI / headless mode برای تست Load از هر سیستم عامل سازگار با Java
- یک ابزار کامل و آماده برای ارائه گزارشات Dynamic روی HTML
- همبستگی آسان بواسطه توانایی استخراج دادهها از محبوبترین Response Formatها یعنی HTML، JSON، XML یا هر فرمت متنی
- Portability کامل و خلوص جاوایی صد در صدی
- Multi-Threading Framework کامل که Sampling همزمان بوسیله تعداد زیادی Thread را ممکن کرده و Sampling همزمان از Functionهای مختلف توسط Thread Groupهای جداگانه را مقدور میسازد.
- Caching و Offline Analysis/Replaying از Test Resultها
- Core بسیار قابل توسعه:
- Pluggable Samplerهایی که تست نامحدود قابلیتها را ممکن میسازند.
- Scriptable Sampler(قابل اسکریپتنویسی) توسط زبانهای سازگار با JSR223 مانند Groovy و BeanShell.
- ممکن است چندین آمارِ Load با Pluggable Timerها انتخاب شود.
- پلاگینهای تحلیل و بصریسازی(Visualization) دادهها یک توسعهپذیری و همچنین شخصیسازی عالی را مقدور میسازد.
- میتوان برای یک تست یا فراهم کردن دستکاری روی دادهها، از Functionها برای ارائه ورودیهای داینامیک استفاده نمود.
- Continuous Integration ساده بوسیله Open Source Libraryهای ثالث برای Maven, Gradle و Jenkins.
JMeter یک مرورگر(Browser) نیست
JMeter یک مرورگر نیست. این ابزار در سطح پروتکل کار میکند. در مورد Web Serviceها و Remote Serviceها، JMeter شبیه یک مرورگر(یا چندین مرورگر) به نظر میرسد؛ با این حال JMeter تمام Actionهای پشتیبانی شده توسط مرورگر را انجام نمیدهد. به طور خاص، JMeter جاوااسکریپتهای موجود در صفحات HTML را اجرا نمیکند. همچنین صفحات HTML را به عنوان مرورگر رِندِر نمیکند(ممکن است Response را به عنوان HTML و غیره مشاهده کنید، اما Timingها(زمانبندی) در هر Sample گنجانده نشده است و فقط یک Sample در هر لحظه در یک Thread نمایش داده میشود).
قسمتهای بعدی به محض آماده شدن علاوه بر اینکه در صفحه Home وبسایت اطلاعرسانی خواهد شد، به صورت دستهبندی شده از اینجا نیز در دسترس است.