این Apache JMeter™ برنامه یک ابزار منبع باز و ۱۰۰٪ خالص جاوا است که برای تست بار رفتار عملکردی و اندازه گیری عملکرد طراحی شده است. JMeter که در ابتدا برای آزمایش برنامه های کاربردی وب توسعه یافته بود، از آن زمان برای پشتیبانی از عملکردهای مختلف آزمایش گسترش یافته است.
می توان از آن برای ارزیابی عملکرد در منابع استاتیک و پویا، از جمله برنامه های کاربردی وب، شبیه سازی بارهای سنگین روی یک سرور (یا گروهی از سرورها)، یک شبکه یا یک شی برای ارزیابی انعطاف پذیری آن و تجزیه و تحلیل عملکرد کلی در شرایط بارگذاری مختلف استفاده کرد.
در این آموزش، نحوه ادغام نتایج تست JMeter در TestRail را با استفاده از TestRail CLI. این ادغام شما را قادر می سازد تا نتایج تست خودکار را متمرکز کنید و از قابلیت های تحلیلی و گزارشی TestRail استفاده کنید.
نمای کلی #
در این آموزش از a استفاده خواهیم کرد نمونه پروژه برای راه اندازی یک پروژه تست عملکرد JMeter که با TestRail CLI ادغام می شود تا نتایج تست تولید شده را بارگذاری کند.
در پایان این آموزش، شما قادر خواهید بود:
- تست های عملکرد را برای پروژه نمونه JMeter ایجاد کنید
- TestRail CLI را نصب کنید
- نمونه TestRail خود را پیکربندی کنید
- از CLI برای اجرای تست های عملکرد و آپلود نتایج در TestRail استفاده کنید
- تستکیسها و نتایج خود را در TestRail مشاهده کنید
پیش نیازها #
برای ایجاد و اجرای پروژه نمونه، باید Apache JMeter، پلاگین JUnit Reporter و Python (برای نصب و اجرای TestRail CLI) را نصب کنید. این ابزارها برای تولید و وارد کردن نتایج تست به TestRail استفاده خواهند شد.
| پیش نیاز | توضیحات |
|---|---|
| Apache JMeter™ | نسخه مناسب برای سیستم عامل خود را دانلود کنید و دستورالعمل های نصب را دنبال کنید. |
| پایتون ۳.X | آخرین نسخه پایتون ۳.X را برای سیستم عامل خود دانلود کنید و دستورالعمل های جادوگر نصب را دنبال کنید.
برای تایید نصب، اجرا کنید |
| مدیر پلاگین های JMeter |
برای دسترسی به سایر پلاگین های JMeter که ممکن است مفید باشند، مدیر افزونه ها را دانلود کنید. از طرف دیگر، فقط می توانید نصب کنید پلاگین گزارش JUnit |
یک پروژه نمونه ایجاد کنید #
پس از نصب JMeter، نوبت به ایجاد یک پروژه نمونه می رسد.
توجه: اگر ترجیح می دهید از یک پروژه از پیش پیکربندی شده استفاده کنید، می توانید پروژه نمونه را شبیه سازی کنید از مخزن نمونه چارچوب اتوماسیون TestRail.
از طرف دیگر، اگر می خواهید همه چیز را از ابتدا ایجاد کنید، این مراحل را دنبال کنید:
- هنگام باز کردن رابط کاربری گرافیکی JMeter، به ناحیه ای مشابه با تصویر زیر دسترسی خواهید داشت. در اینجا می توانید نام پروژه خود را تغییر دهید.

- روی پروژه کلیک راست کرده و Add → Thread Group را انتخاب کنید. این به عنوان نقطه شروع برای هر طرح آزمایشی عمل می کند. همه کنترلرها و نمونه بردارها باید در زیر یک گروه رشته قرار گیرند.
- پیکربندی Thread Group: JMeter عناصر قابل تنظیم مختلفی را در گروه Thread فراهم می کند. عناصر قابل تنظیم هستند:
-
Number of Threads: هر thread کل طرح تست را مستقل از رشته های تست دیگر اجرا می کند -
Ramp-up period: مشخص می کند که JMeter چقدر طول می کشد تا به تعداد کامل نخ ها برسد. مثال: اگر از ۱۰ رشته استفاده شود و دوره افزایش سرعت روی ۱۰۰ ثانیه تنظیم شده باشد، JMeter به صورت تدریجی نخ ها را در این مدت شروع می کند. -
Loop Count: به طور پیش فرض، گروه thread طوری پیکربندی شده است که یک بار از طریق عناصر خود حلقه بزند. در صورت نیاز می توانید این تنظیم را تنظیم کنید.
-
- سپس، روی Thread Group کلیک راست کنید تا عمل – یک درخواست HTTP – پیکربندی شود.
-
Server Name or IP: برای این پروژه نمونه، به سادگی آدرس سرور مورد نظر را در درخواست HTTP وارد کنید. در صورت نیاز می توانید نام فایل را تغییر دهید. مثال: نام سرور انتخاب شده است www.google.com (نیازی به اضافه کردن نیستhttp://)
-
- سپس، دوباره روی Thread Group کلیک راست کنید تا شنونده – یک JUnit Reporter – پیکربندی شود.
-
Filename: محل ذخیره فایل گزارش تست عملکرد را مشخص کنید. این فایل توسط TRCLI برای آپلود نتایج اجرا در TestRail استفاده خواهد شد. -
Key Performance Indicators (KPIs): برای تستکیس خود، دو معیار را برای ارزیابی نتایج پیکربندی میکنیم که بهعنوان Test Cases تلقی میشوند. وقتی TRCLI گزارش JUnit را می خواند، با ترکیب فیلدهای Metric، Comparator و Threshold نام های Test Case را ایجاد می کند. مقدار وارد شده در فیلد Name در JMeter فقط به عنوان یک مرجع برای شناسایی آسان متریک تستکیس عمل می کند. هر KPI به عنوان یک Test Case در TestRail نشان داده خواهد شد.
نام متریک مقایسه کننده آستانه هدف آزمون میانگین کمتر از ۱۰۰۰ میلیثانیه معنی 1000 میانگین زمان پاسخ باید کمتر از ۱۰۰۰ میلی ثانیه باشد بیش از ۱٪ خطاهای نمونه خطاها <=.01 میزان خطا برای تست اجرا شده باید کمتر از ۰.۰۱٪ باشد
-
اجرای نمونه پروژه #
اجرا با استفاده از JMeter GUI: #
برای اجرای دستی تست عملکرد، کافی است روی دکمه پخش سبز کلیک کنید. پس از شروع آزمایش، دکمه Start خاکستری شده و غیر قابل اجرا می شود. شما می توانید روند اجرا را در گوشه سمت راست بالا نظارت کنید.
برای تعیین زمان کامل شدن اجرا، صبر کنید تا دکمه Start دوباره سبز شود. در آن مرحله، گزارش اجرا برای تجزیه و تحلیل در دسترس خواهد بود.
اگر از پیکربندی معیارهای مثال پیروی کنید، گزارش شما شبیه به شکل زیر خواهد بود. گزارش در پوشه ای که هنگام پیکربندی شنونده JUnit Reporter مشخص کرده اید ذخیره می شود.
<?xml version="1.0" encoding="UTF-8"?>
<testsuite errors="0"
failures="0"
name="JUnit Reporter_ TRintegration"
skipped="0"
tests="2">
<testcase classname="Average less than 100ms" name="MEAN(.*) < 1000"/>
<testcase classname="Not more than 1% sample error" name="ERRORS(.*) <= .01"/>
</testsuite>
اجرا با استفاده از خط فرمان JMeter #
./jmeter.bat --nongui --testfile "C:\path\to\your\trcli\config\file\jmeter_perf_test.jmx"
وارد کردن نتایج به TestRail #
نصب TestRail CLI #
با توجه به اینکه قبلا پایتون را روی دستگاه خود نصب کرده اید، نصب TestRail CLI به سادگی اجرای دستور زیر در خط فرمان شما است.
$ pip install trcli
پیکربندی TestRail #
در مرحله دوم، شما باید نمونه TestRail خود را طبق دستورالعمل های زیر پیکربندی کنید.
- را فعال کنید TestRail API با رفتن به مدیر > تنظیمات سایت، روی API برگه، و چک کردن فعال کردن API گزینه
- ایجاد یک فیلد سفارشی به منظور نگاشت کد تستکیسها خودکار خود به موارد واقعی TestRail. شما می توانید این کار را با رفتن به مدیر > سفارشی سازی ها و کلیک کردن فیلد را اضافه کنید. بعد از اینکه به صفحه ایجاد فیلد رسیدید، دو شرط برای این فیلد سفارشی وجود دارد:
- این نام سیستم باید باشد automation_id
- این تایپ کنید باید باشد متن
ارسال نتایج به TestRail #
پس از اتمام نصب TestRail CLI و پیکربندی نمونه TestRail شما به پایان رسید، تنها دو مرحله اضافی قبل از آپلود نتایج شما وجود دارد.
ابتدا باید فایل پیکربندی TRCLI خود را بسازید (.yml فرمت فایل)، که باید مانند زیر باشد
host: https://<TESTRAIL_HOST>.testrail.io
project: Performance_Integration
username: user@testrail.com
password: password
title: JMeter Performance Test Run
-
host: پیوند نمونه TestRail -
project: جایی که اجرا شما ذخیره خواهد شد -
username and password: اعتبار شما به نمونه مشخص شده در بالا -
title: نام اجرای تست شما که نتایج در آن ذخیره خواهد شد
TRCLI را با استفاده از اسکریپت پوسته اجرا کنید. TestRail CLI را می توان به طور موثر از طریق یک پوسته اسکریپت اجرا کرد. در زیر نمونه ای از اسکریپت است که برای ویندوز طراحی شده است Git Bash (آن را به عنوان ذخیره کرد .sh):
clear
bold=$(tput bold)
TRCLI_CONFIG_PATH="C:\path\to\your\trcli\config\file\trcli-config.yml"
TRCLI_TEST_FILE="C:\path\to\your\trcli\config\file\jmeter_perf_test.jmx"
JMETER_RESULTS="C:\path\to\your\file\sample_results.xml"
echo "($bold)-------------------------------------"
echo "($bold)--- JMeter TestRail Sample Project --"
echo "($bold)-------------------------------------"
echo "($bold)... verify if TRCLI is installed:"
echo
trcli
echo
echo "($bold)... execute JMeter Load Test:"
echo
./jmeter.bat --nongui --testfile "$TRCLI_TEST_FILE"
echo
echo "($bold)... executing TestRail TRCLI to upload results in a new Test Run:"
echo
trcli -y --config "$TRCLI_CONFIG_PATH" parse_junit --file "$JMETER_RESULTS" --title "JMeter Demo"
echo
echo "($bold)... execution completed. New Test Run created."
اطمینان حاصل کنید که نام فایل پس از -ف گزینه با مسیر صحیح فایل گزارش شما مطابقت دارد، به خصوص اگر مکان پیش فرض آن را تغییر داده باشید. در این مثال، از یک متغیر برای ذخیره مسیر فایل استفاده شده است، اما می توانید مستقیماً آن را نیز مشخص کنید. همه گزینه های دیگر باید برای مطابقت با نمونه و پروژه TestRail شما پیکربندی شوند.
برای بررسی گزینه های اضافی خط فرمان، به آدرس مراجعه کنید TestRail CLI README.md (موجود در مخزن پروژه)، مقاله مستندات TRCLI، یا کمک CLI تعبیه شده با اجرای دستورات زیر:
$ trcli --help
$ trcli parse_junit --help
تجسم نتایج در TestRail #
حالا، اگر شما به تستکیسها در صفحه پروژه TestRail خود، متوجه خواهید شد که TestRail CLI به طور خودکار تستکیسها را که در گزارش نتایج تست شما وجود داشت ایجاد می کند.

در اجراهای آزمایشی & نتایج صفحه، ما می توانیم ببینیم که یک آزمایش با نام اجرا می شود اجرای تست JMeter ایجاد شد. با باز کردن آن، میتوانیم جزئیات هر یک از نتایج تست خودکار را بیشتر بررسی کنیم و تجزیه و تحلیل سطح بالایی از علت شکست هر آزمایش انجام دهیم، زیرا پیام خطای ارائه شده توسط چارچوب اتوماسیون تست نیز در نتیجه آزمون ثبت شده است، همانطور که در تصویر زیر مشاهده میکنید.

بعدش چی؟ #
اکنون که نتایج تست خود را روی TestRail متمرکز کردهاید، نه تنها میتوانید نتایج تستهای خودکار خود را به همراه پیامهای خطای آزمایشهای ناموفق بررسی کنید، بلکه میتوانید تلاشهای آزمایشی دستی و خودکار خود را در گزارشهایی که پوشش کامل آزمون پیرامون برنامهتان را به شما نشان میدهند و حتی پیشرفت اتوماسیون آزمایش را ردیابی کنید، تجمیع کنید. همچنین میتوانید یک اشکال را مستقیماً از نتیجه آزمایش خودکار به یک ردیاب مشکل ترجیحی خود گزارش دهید، همانطور که برای نتایج تست دستی خود انجام میدهید!
می توانید به آن نگاه کنید گزارشهای TestRail و ویدئو معیارهای تست برای آشنایی با نحوه استفاده از قابلیت های گزارش دهی TestRail.


