
همانطور که در مقاله ضبط سناریو با استفاده از جیمیتر اشاره شد، ضبط سناریوها یکی از روشهای ساده برای ایجاد اسکریپتهای تست میباشد، زیرا میتوانید به جای ایجاد این اسکریپتها به صورت دستی، با استفاده از قابلیت Recording مانند یک کاربر واقعی با سیستم کار کرده و تعاملات را ضبط کنید. تسترها با استفاده از این امکان، از طریق جیمیتر و یا ابزارهای 3rd party مانند BlazeMeter میتوانند سرعت تست خود را به مراتب افزایش دهند. در این مقاله به آموزش روش دیگر ضبط سناریوها با استفاده از BlazeMeter، میپردازیم.
افزونه BlazeMeterیک ابزار رایگان است که امکان ضبط، بارگذاری و اجرای تست اسکریپتها را فراهم میکند، این افزونه از فایلهای JMX، JSON و YML برای اجرای اسکریپتها پشتیبانی میکند.
در واقع BlazeMeter بدون نیاز به تغییر تنظیمات پروکسی سیستم، درخواستهای http، https و تمامی تعاملات واقعی کاربر که از طریق مرورگر ارسال میگردد را ضبط کرده و اسکریپتهای تست را ساخته و در سایت BlazeMeter آپلود میکند. سپس میتوانیم فایلهای JMX ،JSON و YML را با توجه به نیاز خود دانلود کرده و به دو طریق از آنها برای تست سیستم نرمافزاری مورد نظر خود استفاده کنیم:
- ضبط بدون نیاز به مواردی مانند تغییر تنظیمات پروکسی سیستم و ایجاد certificate.
- ضبط و اجرای تست بدون نیاز به نصب ابزارهایی مانند جیمیتر و سلنیوم.
- ضبط سناریوها بدون دارا بودن دانش اسکریپت نویسی یا کدنویسی.
- ضبط تمامی درخواستهای http و https.
- سازگار با جیمیتر و سلنیوم.
برای اضافه کردن افزونه BlazeMeter به کروم میتوان از طریق Chrome Web Store این افزونه را دانلود و اضافه کرد. همچنین میتوانید طبق دستور زیر آن را به صورت دستی اضافه کنید:


در قسمت مشخص شده در شکل بالا نام تست خود را وارد کنید. با کلیک کردن روی دکمه شماره 1 دیالوگ زیر نمایش داده شده و به معنی آغاز فرایند ضبط میباشد:

به عنوان مثال قصد داریم سناریو دریافت لیست خودروهای شهر تهران را در سایت دیوار ضبط کنیم. بنابراین بعد از کلیک بر روی دکمه شروع ضبط، وارد سایت دیوار شده، روی گزینههای شهر تهران و وسایل نقلیه کلیک میکنیم تا لیست مورد نظر را دریافت کنیم. هنگامی که سناریوهای مورد نظر را اجرا میکنیم، APIها رکورد شده و اعدادی در دیالوگ Blazemeter نمایش داده میشوند که به منزله API های ذخیره شده و … میباشند.

زمانی که اجرای سناریو مد نظرتان به اتمام رسید، کافی است با کلیک روی دکمه مشخص شده روند ضبط را خاتمه دهید. (با استفاده از دکمه pause میتوانید هر زمان که نیاز داشتید روند ضبط را متوقف و مجدد ادامه دهید.)

برای تبدیل سناریوهای ضبط شده به فایلهای قابل اجرا در جیمیتر و سلنیوم نیاز است که در سایت BlazeMeter حساب کاربری داشته باشید، زیرا تمامی مراحل ضبط شده توسط این افزونه در سایت BazeMeter بارگذاری میشود. بنابراین روی آیکون BlazeMeter کلیک کرده و در سایت BlazeMeter لاگین کنید. اگر با موفقیت لاگین کرده باشید در سمت راست دیالوگ "Hi username" نمایش داده میشود:

برای ویرایش اسکریپتهای جیمیتر، از قسمت Edit گزینه JMeter Script را انتخاب کنید:

سپس صفحه زیر نمایش داده میشود و میتوانید بسته به نیاز خود هر کدام از درخواستهای ضبط شده را ویرایش کرده و سپس فایل نهایی را دانلود کنید. به عنوان مثال برای اجرای اسکریپتها در جیمیتر باید فایل با پسوند jmx را دانلود کنید:

برای دانلود مستقیم فایل میتوانید از دکمه Save استفاده کنید:

پس از کلیک بر روی Save صفحه زیر نمایش داده میشود. سپس فایل و دامنههای مورد نیاز خود را از قسمت Domains to include انتخاب کنید. در پروسه ضبط سناریو، ممکن است اطلاعاتی از دامنههایی غیر از سایت تحت تست دریافت شود، به عنوان مثال عکسها از سایت دیگری دریافت یا اطلاعاتی از سرویسهای دیگر به منظور محاسبه قیمت دریافت گردد، در بخش Domains to include میتوانید مشخص کنید آیا این API های جانبی نیز در فایل نهایی وجود داشته باشند یا خیر. در نهایت بر روی دکمه Save کلیک کنید تا فایل مربوطه دانلود شود. (که در این آموزش فقط دامنه مربوط به سایت دیوار را انتخاب کردیم)

برای اجرای فایل jmx دانلود شده، به ترتیب روی File و Open کلیک کنید:

سپس از دیالوگ باز شده فایل .jmx دانلود شده را انتخاب و باز کنید. سناریوهای ضبط شده مانند شکل زیر به Test Plan اضافه میگردد:

اکثر اوقات نیاز است که پس از ضبط، بخشهایی را ویرایش کنید. مانند:
تائیدیه یا Asserion استفاده میکنیم که در مقاله Assertion در جیمیتر چیست؟ کاربرد و انواع آن نحوه کار با آنها بررسی شده است.پس از اعمال تغییرات مورد نظر، تست را اجرا کرده و نتایج را با استفاده از شنودگر یا Listener مناسب مشاهده کنید. که در شکل زیر از View Results Tree برای نمایش درخواستهای ارسالی به سرور و پاسخهای دریافتی از سرور استفاده کردیم.

برای آشنایی با انواع Listenerها میتوانید به مقاله Listener و نحوه رصد نتایج تست در جیمیتر مراجعه کنید.