TestRail ۳.۰ جدید را معرفی کرد گزارش ها منطقه ای با پشتیبانی از تولید، برنامه ریزی، اشتراک گذاری و ارسال گزارش های ایمیل. در حالی که TestRail در حال حاضر با بسیاری از قالبهای گزارش عمومی قدرتمند ساخته شده است، نوشتن گزارشهای سفارشی نیز میتواند مفید باشد، چه برای تجسم دادههای شما از زاویهای متفاوت یا جمعآوری و نمایش آنها به گونهای که توسط گزارشهای داخلی پوشش داده نمیشود.
این اسناد ساختار اصلی گزارشهای سفارشی، نحوه ادغام آنها در نصب و بهترین شیوهها را توضیح میدهد. لطفاً توجه داشته باشید که این سند دارای دانش اولیه PHP، SQL و همچنین توسعه وب (HTML، CSS و جاوا اسکریپت) است. پیاده سازی گزارش های سفارشی مستلزم تجربه با تمامی فناوری های فوق است.
اصطلاحات #
TestRail از اصطلاحات زیر برای تمایز بین نهادهای مختلف مرتبط با گزارش استفاده می کند:
گزارش دهید #
گزارش ها اسناد مبتنی بر HTML و تمام فایل های مرتبط تولید می شوند. گزارش ها معمولا نمودارها و آمار را برای تجسم داده های شما نمایش می دهند. گزارشها میتوانند خصوصی باشند یا بین همه کاربران در یک پروژه خاص به اشتراک گذاشته شوند.

گزارش کار #
گزارشها را میتوان در فواصل زمانی قابل تنظیم برنامهریزی کرد و یک کار گزارش، زمانبندی را تعریف میکند و تمام تنظیمات مرتبط را ذخیره میکند. به کارهای گزارش در رابط کاربری TestRail، گزارش های برنامه ریزی شده نیز گفته می شود.
فرمت گزارش #
یک گزارش را می توان در داخل TestRail (در خط) یا خارج از TestRail (مستقل) مشاهده کرد. هنگامی که یک گزارش تولید می شود، TestRail آن را پس پردازش می کند و آن را در قالب های مختلف به اصطلاح گزارش ذخیره می کند.
افزونه گزارش #
افزونه گزارش، تولید واقعی گزارش های قابل مشاهده را پیاده سازی می کند. افزونههای گزارش، بستههای مستقل و قابل استفاده مجدد از فایلهای PHP و داراییهای HTML (شیوهها، فایلهای جاوا اسکریپت و تصاویر) هستند. افزونه های گزارش یک مشکل خاص را پیاده سازی یا حل می کنند (مثلاً نمایش پوشش نتیجه برای تستکیسها) و می توانند با عبور از گزینه های گزارش پیکربندی شوند.
فرم گزارش #
هنگامی که یک گزارش (برنامه ریزی شده) ایجاد یا ویرایش می کنید، این کار را در فرم گزارش انجام می دهید. فرم گزارش به دو بخش تقسیم می شود. بخش اول به اصطلاح گزینه های سفارشی را برای گزارش پیکربندی می کند و این بخش برای هر افزونه گزارش متفاوت به نظر می رسد. بخش دوم گزینه های سیستم (دسترسی، اعلان ها و زمان بندی) را تعریف می کند و برای همه افزونه های گزارش یکسان است.
شروع کردن #
دو دایرکتوری وجود دارد که در آن TestRail به دنبال پلاگین های گزارش در هنگام اولیه سازی برنامه می گردد. دایرکتوری اول جایی است که TestRail افزونه های پیش فرض داخلی خود را نیز ذخیره می کند. شما هرگز نباید اسکریپت های افزونه را در این فهرست اضافه کنید یا تغییر دهید، زیرا این فایل ها با به روز رسانی TestRail لغو می شوند:
<TestRail>/app/plugins/reports
اسکریپت های اصلاح شده یا جدید باید همیشه در فهرست پلاگین گزارش سفارشی قرار داده شوند:
<TestRail>/custom/reports
ساده ترین راه برای شروع کار با افزونه های گزارش TestRail استفاده از مخزن GitHub زیر است. میتوانید از این الگو به عنوان مرجع استفاده کنید، اما همچنان توصیه میشود که با یک دایرکتوری خالی برای افزونههای گزارش جدید شروع کنید و فایلهای الگو را یکی یکی ایجاد/کپی کنید.
$ git clone https://github.com/gurock/testrail-custom.git
$ ls testrail-custom/reports/template
about.json
i18n/
images/
js/
report.php
styles/
views/
ساختار پلاگین #
همانطور که از الگوی مثال می بینید، یک پلاگین گزارش یک دایرکتوری ساده است و شامل ماژول PHP واقعی افزونه (report.php)، یک فایل توضیحات (about.json) و چندین فهرست فرعی است که حاوی دارایی های HTML (تصاویر، js، سبک ها) و همچنین فایل های زبان و نماها (برای ارائه گزارش استفاده می شود). بخش های بعدی اشیاء مختلف را با جزئیات توضیح می دهند.
about.json #
این فایل به عنوان فایل توضیحات افزونه عمل می کند و متا داده های افزونه گزارش مانند برچسب (نام)، توضیحات و نویسنده را مشخص می کند. از JSON استفاده می کند و به صورت زیر است:
{
"author": "Gurock Software",
"version": 1,
"label": "l:reports_tmpl_meta_label",
"summary": "l:reports_tmpl_meta_summary",
"description": "l:reports_tmpl_meta_description",
"group": "l:reports_tmpl_meta_group",
"translations": ["reports_tmpl"]
}
TestRail کاملاً قابل ترجمه است و این شامل گزارشها نیز میشود. برای ترجمه یک گزارش، میتوانید یک یا چند فایل «ترجمه» را اضافه کنید که بهطور خودکار توسط TestRail زمانی که پلاگین گزارش راهاندازی میشود، بارگیری میشوند.
برچسب و گروه نحوه نمایش افزونه گزارش در نوار کناری صفحه نمای کلی گزارش در TestRail را مشخص می کند. فیلدهای خلاصه و توضیحات باید شرح مختصری یا تا حدودی طولانی تر از آنچه افزونه گزارش انجام می دهد باشد.
طبق قرارداد، رشته هایی که با “l:” شروع می شوند به عنوان رشته هایی از فایل ترجمه تفسیر می شوند (لطفاً به زیر مراجعه کنید).
i18n/ #
این فهرست شامل فایلهای ترجمه افزونه گزارش است و باید حاوی فایلی باشد که قبلاً در about.json مشخص کردهاید، به عنوان مثال. Reports_tmpl.php. مسیر نسبی کامل این فایل باید به صورت زیر باشد:
i18n/translations/en/reports_tmpl.php
مسیر از همان قراردادهای سیستم ترجمه استاندارد TestRail پیروی می کند. محتوای فایل رشته های ترجمه شده را مشخص می کند:
$lang['reports_tmpl_meta_label'] = 'Template';
$lang['reports_tmpl_meta_group'] = 'Template Group';
$lang['reports_tmpl_meta_summary'] = 'Demonstrates how to develop \
custom report plugins.';
$lang['reports_tmpl_meta_description'] = 'Demonstrates how to develop \
custom report plugins and serves as a skeleton for new report \
plugins.';
..
گزارش.php #
این فایل شامل پیاده سازی واقعی افزونه گزارش مبتنی بر PHP است. TestRail انتظار دارد کلاسی با نام دایرکتوری افزونه گزارش و به دنبال آن “_report_plugin” باشد:
class Template_report_plugin extends Report_plugin
{
}
..
انتظار می رود این کلاس چندین روش را برای رندر کردن و اعتبارسنجی فرم و گزینه های گزارش و همچنین تولید گزارش واقعی پیاده سازی کند.
دیدگاه ها/ #
این فهرست شامل نماهای افزونه گزارش مورد استفاده برای فرآیند رندر گزارش است. نماها فایل های استاندارد PHP هستند که توسط افزونه گزارش بارگیری می شوند و اسناد HTML واقعی را تولید می کنند.
پلاگین خود را بسازید #
برای آشنایی با نحوه نوشتن گزارش های سفارشی و اطلاعات بیشتر در مورد عملکرد داخلی و ساختار افزونه های گزارش، به ادامه مطلب مراجعه کنید:

