
مرور کلی
زمانیکه از Jmeter استفاده میکنید، معمولا فرآیند زیر را پیش میگیرید:
۱- ساخت Test Plan
برای انجام این کار، JMeter را در GUI Mode اجرا کنید.
سپس میتوانید انتخاب کنید که برنامه را از یک مرورگر یا یک اپلیکیشن بومی رکورد کنید. شما برای این کار میتوانید از این مسیر در منوها استفاده نمایید: File → Templates … → Recording.
توجه داشته باشید که میتوانید Plan خود را نیز به صورت دستی(Manual) ایجاد کنید. سعی کنید حتما این بخش را بخوانید تا مفاهیم اصلی را درک کنید.
شما میتوانید با استفاده از یکی از گزینههای زیر Plan خود را دیباگ کنید:
- Run → Start no pauses
- Run → Start
- Validate روی Thread Group(در جلسات آینده در مورد Thread Groupها صحبت خواهیم کرد)
و البته بخشی به نام View Results Tree نیز وجود دارد که در آینده زمانیکه به این بخش برسیم در مورد Renderها و تسترها(CSS/JQUERY, JSON, Regexp, XPath) هم صحبت خواهیم کرد.
اطمینان حاصل کنید که در هنگام ساخت Test Plan خود، Best Practiceها(در آینده در این مورد نیز صحبت خواهد شد) را دنبال کنید.
۲- اجرای Load Testing(تست بار)
هنگامی که Test Plan شما آماده شد، میتوانید تست Load خود را شروع کنید. اولین گام این است که Injectorهایی(تزریق کنندهها) که JMeter را اجرا میکنند پیکربندی کنید. این کار تقریبا برای تمام ابزارهای Load Testing مشابه بوده و شامل موارد زیر است:
- تصحیح ظرفیت و اندازه در ماشین به لحاظ CPU، حافظه و شبکه
- OS Tuning
- Java setup: حصول اطمینان از این موضوع که آخرین نسخه از جاوا پشتیبانی شده توسط JMeter روی ماشین نصب است(برای ابزارهای جاوایی)
- Java Heap size را افزایش دهید. به طور پیش فرض JMeter با یک Heap(پشته) به ظرفیت ۱ گیگابایت اجرا میشود، ممکن است این ظرفیت برای تست شما کافی نباشد، که البته این موضوع به Test Plan شما و تعداد Threadهایی که میخواهید اجرا کنید، بستگی دارد.
هنگامی که همه چیز آماده شد، شما از حالت خط فرمان(Command-line mode که Non-GUI mode نیز نامیده میشود) جهت اجرای آن برای تست بار استفاده خواهید کرد.
توجه داشته باشید: تست بار را با استفاده از GUI mode اجرا نکنید!
با استفاده از حالت Non-GUI، میتوانید یک فایل CSV (یا XML) حاوی Resultها ایجاد کرده و JMeter نیز در پایان Load Testing یک گزارش HTML تولید نماید. JMeter به طور پیشفرض خلاصهای از تست Load را مادامیکه در حال اجراست ارائه میکند.
علاوه بر این شما میتوانید نتایج بلادرنگ(Real-Time) را با استفاده از Backend Listener در طول تست خود داشته باشید.
۳- تحلیل Load Test
هنگامی که Load Testing شما به پایان رسید، میتوانید از گزارش HTML برای تحلیل تست Load خود استفاده کنید.
بیایبد آغاز کنیم
سادهترین راه برای اولین آغاز و استفاده از JMeter این است که آخرین نسخه Production را از اینجا دانلود کرده و آن را نصب کنید. این نسخه شامل تمام فایلهاییست که شما برای ساخت و اجرای بسیاری از انواع آتستها بدان نیاز دارید؛ به عنوان مثال Web (HTTP/HTTPS), FTP, JDBC, LDAP, Java, JUnit و ایضا موارد دیگر.
اگر میخواهید JDBC Testing را انجام دهید، مطمئنا باید از JDBC Driver مناسب(که باید آنرا از طریق ارئه دهنده برنامه تهیه نمایید) استفاده کنید. JMeter به همراه خود هیچ JDBC Driver خاصی ندارد.
JMeter شامل JMS API jar است، اما فاقد JMS client implementation میباشد. اگر میخواهید تستهای JMS را اجرا کنید، باید jarهای مناسب را از ارائه دهنده JMS دانلود کنید.
توجه داشته باشید: برای اطلاعات بیشتر درباره نصب jarهای تکمیلی، بخش JMeter Classpath را ببینید.
سپس، JMeter را شروع کنید، برای یادگیری اصول اولیه باید مقداری بیشتر صبر کنید، تا به بخش Building The Test Plan برسیم،
البته باید در نظر داشته باشید که انواع و اقسام Test Planها در JMeter وجود دارند، که میتوان آنها را ایجاد کرد. به عنوان نمونه اگر یک Web Application را تست نمایید، باید در مورد ساخت Web Test Planها کسب اطلاع کنید. ما تمام انواع Test Planها را در این دوره رایگان ارائه خواهیم کرد. انواع Test Planها عبارتند از:
- Advanced Web Test Plan
- JDBC
- FTP
- JMS Point-to-Point
- JMS Topic
- LDAP
- LDAP Extended
- (WebServices(SOAP
زمانیکه با ساخت Test Planهای اجرایی JMeter راحت بودید، میتوانید از عناصر مختلف پیکربندی(Timerها، Listenerها، Assertionها و دیگران) که به شما کنترل بیشتری بر Test Planهای اعطا میکنند، استفاده نمایید.
نیازمندیها
JMeter نیازمند این است که محیط محاسباتی شما کمینه الزامات را داشته باشد.
نسخه جاوا
توجه داشته باشید: JMeter 4.0 با جاوا ۸ یا ۹ سازگار است. ما به شما توصیه میکنیم که به دلایل Performance و امنیتی، آخرین نسخه Minor منشعب شده از نسخه اصلی(Major) را نصب نمایید.
از آنجا که JMeter فقط از APIهای استاندارد Java استفاده میکند، لطفا در صورتیکه JRE به دلیل مشکلات پیادهسازی در JRE برای اجرای JMeter شکست خورده و Fail شد، File Bug را ریپورت نکنید.
توجه داشته باشید: اگرچه شما میتوانید از JRE استفاده کنید، بهتر است JDK را برای رکورد کردن HTTPS نصب کنید، JMeter به Keytool در JDK نیاز دارد.
سیستم عاملها
JMeter یک برنامه ۱۰۰% جاواییست و باید به درستی روی هر سیستمی که دارای یک پیادهسازیِ جاوایی سازگار است، اجرا شود.
سیستم عاملهای تحت تست با JMeter را میتوان در این صفحه مشاهده کنید.
حتی اگر نام سیستم عامل شما در این صفحه نباشد، در صورتی که JVM سازگار باشد، JMeter باید آن را اجرا کند.
بستههای اختیاری(Optional Package)
اگر شما قصد دارید توسعه JMeter را برنامهریزی کرده و انجام دهید، بنابراین یک یا چند بسته اختیاری را که در زیر ارائه شدهاند را نیاز خواهید داشت.
Java Compiler
اگر شما قصد دارید درگیر کدنویسی در JMeter Source شوید و یا پلاگینهای آن را توسعه دهید، به JDK 8 یا بالاتر که کاملا سازگار باشد نیاز خواهید داشت.
SAX XML Parser
JMeter با Apache’s Xerces XML parser همراه است. شما میتوانید به JMeter بگویید از یک XML parser دیگر استفاده خواهید کرد. برای انجام این کار، کلاسهای مربوط به Parser ثالث را در مسیر classmap JMeter قرار داده و فایل jmeter.properties را با نام کامل کلاس Parser به روز کنید.
Email Support
JMeter قابلیتهای ایمیلیِ گستردهای دارد. JMeter میتواند بر اساس نتایج تست ایمیل ارسال کند و دارای یک POP3(S)/IMAP(S) sampler میباشد. همچنین این ابزار یک SMTP(S) sampler نیز دارد.
SSL Encryption
برای تست یک Web Server با استفاده از رمزگذاری (SSL encryption (HTTPST، ابزار JMeter نیاز به اجرای یک SSL دارد، همانطور که در مورد Sun Java 1.4 و بالاتر از آن نیز همین موضوع صادق است. اگر نسخه جاوا شما پشتیبانی SSL را شامل نمیشود، میتوانید یک External Implementation اضافه نمایید. Encryption Packageهای لازم را در JMeter classpath قرار دهید. همچنین، system.properties را جهت ثبت SSL Provider به روز رسانی کنید.
JMeter HTTP به صورت پیشفرض protocol level TLS است. این را میتوان با ویرایش https.default.protocol در jmeter.properties یا user.properties تغییر دهید.
JMeter HTTP samplerها پیکربندی شدهاند تا تمام Certificateها(گواهینامه)، چه Trust شده یا غیر از آن را بدون توجه به دورههای اعتبار(Validity Period) و غیره بپذیرند. این حداکثر انعطاف در تست کردن سرورها منجر میشود.
اگر سرور نیاز به Client Certificate داشته باشد، میتوان آنرا فراهم کرد.
SSL Manager نیز برای کنترل بیشتر گواهینامهها وجود دارد.
توجه داشته باشید: JMeter proxy server(زیر را ببینید) از رکورد کردن (HTTPS(SSL پشتیبانی میکند
SMTP sampler میتواند به صورت اختیاری از یک local trust store استفاده کرده یا به تمام گواهینامهها اعتماد کند.
JDBC Driver
اگر میخواهید JDBC Testing انجام دهید، باید JDBC driver مربوط به database vendor را به classpath اضافه کنید. اطمینان حاصل کنید که فایل یک فایل jar است، نه یک فایل زیپ.
JMS client
JMeter در حال حاضر شامل JMS API از Apache Geronimo میباشد، بنابراین شما فقط باید JMS Client implementation jar را از JMS provider، اضافه کنید.برای اطلاعات بیشتر در این رابطه به اسنادی که احتمالا در این رابطه تولید شده مراجعه کنید. همچنین ممکن است برخی از اطلاعات در اینجا وجود داشته باشد.
Libraryها برای ActiveMQ JMS
شما باید jar activemq-all-X.X.X.jar را به classpath خود اضافه کنید، برای مثال با ذخیره آن در پوشه /lib.
برای اطلاعات بیشتر،به اینجا مراجعه نمایید.
قسمتهای بعدی به محض آماده شدن علاوه بر اینکه در صفحه Home وبسایت اطلاعرسانی خواهد شد، به صورت دستهبندی شده از اینجا نیز در دسترس است.