ضبط با Blazemeter

این مقاله به آموزش ضبط سناریوهای تست عملکردی با استفاده از افزونه‌ی BlazeMeter می‌پردازد. BlazeMeter بدون نیاز به تنظیمات پروکسی، تعاملات کاربر را ضبط و به اسکریپت‌های قابل اجرا در JMeter و Selenium تبدیل می‌کند. این روش، ضبط سناریوها را بدون نیاز به دانش برنامه‌نویسی و به‌صورت بسیار آسان امکان‌پذیر می‌سازد.

همانطور که در مقاله ضبط سناریو با استفاده از جی‌میتر اشاره شد، ضبط سناریوها یکی از روش‌های ساده برای ایجاد اسکریپت‌های تست می‌باشد، زیرا می‌توانید به جای ایجاد این اسکریپت‌ها به صورت دستی، با استفاده از قابلیت Recording مانند یک کاربر واقعی با سیستم کار کرده و تعاملات را ضبط کنید. تسترها با استفاده از این امکان، از طریق جی‌میتر و یا ابزارهای 3rd party مانند BlazeMeter می‌توانند سرعت تست خود را به مراتب افزایش دهند. در این مقاله به آموزش روش دیگر ضبط سناریو‌ها با استفاده از BlazeMeter، می‌پردازیم.

افزونه BlazeMeter یک ابزار رایگان است که امکان ضبط، بارگذاری و اجرای تست اسکریپت‌ها را فراهم می‌کند، این افزونه از فایل‌های JMX، JSON و YML برای اجرای اسکریپت‌ها پشتیبانی می‌کند.

آشنایی کلی با عملکرد BlazeMeter

در واقع BlazeMeter بدون نیاز به تغییر تنظیمات پروکسی سیستم، درخواست‌های http، https و تمامی تعاملات واقعی کاربر که از طریق مرورگر ارسال می‌گردد را ضبط کرده و اسکریپت‌های تست را ساخته و در سایت BlazeMeter آپلود می‌کند. سپس می‌توانیم فایل‌های JMX ،JSON و YML را با توجه به نیاز خود دانلود کرده و به دو طریق از آن‌ها برای تست سیستم نرم‌افزاری مورد نظر خود استفاده کنیم:

  • اجرای اسکریپت‌های ضبط شده در BlazeMeter: می‌توان اسکریپت‌های ضبط شده را بدون نصب جی‌میتر و سلنیوم، در خود BlazeMeter اجرا و نتایج را بررسی کنید.
  • اجرای اسکریپت‌های ضبط شده به صورت محلی در جی‌میتر و سلنیوم: پس از ضبط، می‌توان اسکریپت‌ها را به فایل‌های قابل اجرا در جی‌میتر و سلنیوم تبدیل و اجرا کرد.

مزایای استفاده از BlazeMeter

  • ضبط بدون نیاز به مواردی مانند تغییر تنظیمات پروکسی سیستم و ایجاد certificate.
  • ضبط و اجرای تست بدون نیاز به نصب ابزارهایی مانند جی‌میتر و سلنیوم.
  • ضبط سناریوها بدون دارا بودن دانش اسکریپت نویسی یا کدنویسی.
  • ضبط تمامی درخواست‌های http و https.
  • سازگار با جی‌میتر و سلنیوم.

نحوه ضبط با استفاده از BlazeMeter

برای اضافه کردن افزونه BlazeMeter به کروم میتوان از طریق Chrome Web Store این افزونه را دانلود و اضافه کرد. همچنین می‌توانید طبق دستور زیر آن را به صورت دستی اضافه کنید:

  • فایل CRX این افزونه را دانلود کنید.
  • در مرورگر گوگل کروم، طبق شکل زیر، با کلیک بر روی More tools و Extensions وارد صفحه افزونه‌ها شوید:

Extensions

  • با استفاده از drag & drop فایل CRX دانلود شده را در این صفحه قرار دهید. برای ضبط سناریوها، روی آیکون BlazeMeter در قسمت افزونه‌های کروم کلیک کنید. سپس صفحه زیر نمایش داده می‌شود:

Start Blaze

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

Blaze

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

Ui Jmx

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

Stop Blaze

اجرای درخواست‌های ضبط شده

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

Hi User

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

Edit

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

Jmx File

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

Save Recording

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

Select Domain

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

Open File

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

Apis In Jmeter

اکثر اوقات نیاز است که پس از ضبط، بخش‌هایی را ویرایش کنید. مانند:

  • زمان ضبط با یک نام کاربری و گذرواژه لاگین می‌کنید، ولی به عنوان مثال برای اجرای تست کارایی نیاز است که با چندین نام کاربری و گذرواژه لاگین کنید. بنابراین باید همه نام‌های کاربری و گذرواژه‌ها را در یک CSV file ذخیره کرده و از آن فایل در سناریوهای خود استفاده کنید.
  • گاهی اوقات لازم است که بعضی از متغیرهای مورد نیاز مانند توکن برای احراز هویت و ... را از پاسخ API‌ها با استفاده از المنت‌هایی مانند JSON Extractor و … استخراج کرده و در API‌های بعدی استفاده کنید.
  • گاهی نیاز است که برای ارزیابی درخواست‌ها از تائیدیه یا Asserion استفاده می‌کنیم که در مقاله Assertion در جیمیتر چیست؟ کاربرد و انواع آن نحوه کار با آن‌ها بررسی شده است.

پس از اعمال تغییرات مورد نظر، تست را اجرا کرده و نتایج را با استفاده از شنودگر یا Listener‌ مناسب مشاهده کنید. که در شکل زیر از View Results Tree برای نمایش درخواست‌های ارسالی به سرور و پاسخ‌های دریافتی از سرور استفاده کردیم.

View Results Tree

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