استخدام حقول القوالب في إجراءات الاختبار
Using Template Fields in Test Actions
شرح شامل لحقول القوالب (template fields) الديناميكية المتاحة في سكربتات ورسائل وقيم البيانات الوصفية ضمن إجراءات الاختبار.
نظرة عامة
حقول القوالب (template fields) هي عناصر نائبة ديناميكية تُحلَّل إلى قيم من سياق تنفيذ الاختبار وقت التشغيل. تتيح لسكربتات الإجراءات ورسائل البريد الإلكتروني وقيم البيانات الوصفية الإشارة إلى اسم الاختبار ونتيجته وعدادات النتائج وروابط URL وغير ذلك، دون الحاجة إلى ترميز هذه القيم يدويًا.
تستخدم حقول القوالب صياغة Handlebars: {{field_name}}. عند تنفيذ خطوة إجراء، يستبدل Validatar كل حقل قالب بالقيمة الفعلية من تنفيذ الاختبار المكتمل.
أين تُدعم حقول القوالب
| نوع الخطوة | أين تتوفر الحقول |
|---|---|
| Run a Script | نص السكربت |
| Run a Macro | سكربت الماكرو الأساسي (بعد استبدال مُعاملات الماكرو) |
| Send an Email | موضوع البريد ونصه (وليس حقل المستلمين) |
| Set Linked Object Metadata Value | حقل القيمة (لحقول مخصصة من نوع نصي) |
| Set Test Metadata Value | حقل القيمة (لحقول مخصصة من نوع نصي) |
| Run a Standard Test | لا ينطبق (لا يوجد نص قابل للتهيئة) |
حقول القوالب المتاحة
حقول السياق (Context Fields)
توفر هذه الحقول معلومات عن الاختبار وموقعه ضمن المشروع.
| الحقل | الوصف | مثال على القيمة |
|---|---|---|
| {{project_name}} | اسم المشروع الذي يحتوي الاختبار | Sales Data Warehouse |
| {{project_url}} | رابط المشروع في Validatar | https://app.validatar.com/projects/42 |
| {{folder_path}} | المسار الكامل للمجلد من جذر المشروع إلى مجلد الاختبار | Data Vault / Hub Tests |
| {{folder_name}} | اسم المجلد الأب المباشر للاختبار | Hub Tests |
| {{folder_url}} | رابط مجلد الاختبار في Validatar | https://app.validatar.com/projects/42/folders/15 |
| {{test_name}} | اسم الاختبار | Hub Customer - Business Key Uniqueness |
| {{test_url}} | رابط صفحة تهيئة الاختبار | https://app.validatar.com/projects/42/folders/15/tests/301 |
| {{execution_url}} | رابط نتيجة التنفيذ المحددة | https://app.validatar.com/projects/42/results/88/tests/1205 |
حقول النتيجة (Result Fields)
| الحقل | الوصف | مثال على القيمة |
|---|---|---|
| {{result}} | نتيجة تنفيذ الاختبار | Passed أو Failed أو Error |
حقول التوقيت (Timing Fields)
| الحقل | الوصف | مثال على القيمة |
|---|---|---|
| {{start_date}} | وقت بدء تنفيذ الاختبار (منسّق حسب التوقيت المحلي للمستخدم) | 3/27/2026 2:15 PM |
| {{complete_date}} | وقت اكتمال تنفيذ الاختبار | 3/27/2026 2:15 PM |
| {{duration}} | مدة التنفيذ | 00:03:12 |
حقول الأخطاء (Error Fields)
| الحقل | الوصف | مثال على القيمة |
|---|---|---|
| {{errors}} | قائمة رسائل الأخطاء من التنفيذ (إن وجدت) | رسائل أخطاء من الاختبار أو الدفعة أو تنفيذ سكربت المصدر أو الهدف |
حقول العدّ — المستوى الأعلى
| الحقل | الوصف |
|---|---|
| {{passed_count}} | إجمالي عدد التقييمات الناجحة |
| {{failed_count}} | إجمالي عدد التقييمات الفاشلة |
| {{error_count}} | إجمالي عدد التقييمات التي أظهرت خطأ |
حقول العدّ — مستوى الصفوف
| الحقل | الوصف |
|---|---|
| {{test_row_count}} | عدد الصفوف التي أعادتها مجموعة بيانات الاختبار |
| {{control_row_count}} | عدد الصفوف التي أعادتها مجموعة بيانات التحكم (control) |
حقول العدّ — الصفوف المتطابقة
تنطبق هذه الحقول على اختبارات المقارنة حيث تتم مطابقة الصفوف بين مجموعتَي بيانات الاختبار والتحكم.
| الحقل | الوصف |
|---|---|
| {{matched_row_count}} | عدد الصفوف المتطابقة بنجاح بين مجموعتَي البيانات |
| {{matched_passed_count}} | الصفوف المتطابقة التي نجحت في التقييم |
| {{matched_failed_count}} | الصفوف المتطابقة التي فشلت في التقييم |
| {{matched_error_count}} | الصفوف المتطابقة التي أظهرت خطأ أثناء التقييم |
حقول العدّ — صفوف الاختبار غير المتطابقة
الصفوف من مجموعة بيانات الاختبار التي لم تتطابق مع أي صف في مجموعة بيانات التحكم.
| الحقل | الوصف |
|---|---|
| {{unmatched_test_passed_count}} | صفوف الاختبار غير المتطابقة التي نجحت في التقييم |
| {{unmatched_test_failed_count}} | صفوف الاختبار غير المتطابقة التي فشلت في التقييم |
| {{unmatched_test_error_count}} | صفوف الاختبار غير المتطابقة التي أظهرت خطأ أثناء التقييم |
حقول العدّ — صفوف التحكم غير المتطابقة
الصفوف من مجموعة بيانات التحكم التي لم تتطابق مع أي صف في مجموعة بيانات الاختبار.
| الحقل | الوصف |
|---|---|
| {{unmatched_control_passed_count}} | صفوف التحكم غير المتطابقة التي نجحت في التقييم |
| {{unmatched_control_failed_count}} | صفوف التحكم غير المتطابقة التي فشلت في التقييم |
| {{unmatched_control_error_count}} | صفوف التحكم غير المتطابقة التي أظهرت خطأ أثناء التقييم |
المراجع المساعدة (Helper References)
بالإضافة إلى حقول القوالب، يوفر محرر السكربت في خطوات الإجراءات إمكانية الوصول إلى المراجع المساعدة (helper references) — وهي نفس دوال Handlebars المساعدة المتاحة في نصوص القوالب الاختبارية (template test scripting). تتيح هذه المراجع منطقًا أكثر تقدمًا داخل سكربتات الإجراءات.
للاطلاع على القائمة الكاملة للدوال المساعدة المتاحة، راجع مقال Template Test Functions.
استخدام الإكمال التلقائي
يدعم كل من محرر السكربت ومحرر نص البريد الإلكتروني الإكمال التلقائي لحقول القوالب والمراجع المساعدة:
- 1اكتب { في المحرر.
- 2تظهر نافذة منبثقة تعرض جميع حقول القوالب والمراجع المساعدة المتاحة.
- 3استخدم مفاتيح الأسهم للتنقل في القائمة، أو استمر بالكتابة للتصفية.
- 4اضغط Enter أو Tab لإدراج الحقل المحدد.
يُدرج الإكمال التلقائي تعبير Handlebars الكامل (مثل {{test_name}}) عند موضع المؤشر.
يمكنك أيضًا فتح مساعد حقول القوالب بالنقر على أيقونة المساعدة بجانب الحقول النصية التي تدعم حقول القوالب. يفتح ذلك لوحة مرجعية كاملة تضم جميع حقول القوالب والدوال المساعدة ومحرر أكواد.
مرِّر لأسفل في لوحة المساعدة لرؤية جميع حقول القوالب البالغ عددها 28 حقلًا المتاحة للإدراج:
أمثلة
سكربت SQL: تسجيل نتائج الاختبار في جدول تدقيق
خطوة "Run a Script" تُدرج نتيجة الاختبار في جدول تدقيق مخصص بعد كل تنفيذ:
INSERT INTO dq_audit.test_execution_log (
project_name,
test_name,
result,
started_at,
completed_at,
duration,
passed_count,
failed_count,
error_count,
execution_url
)
VALUES (
'{{project_name}}',
'{{test_name}}',
'{{result}}',
'{{start_date}}',
'{{complete_date}}',
'{{duration}}',
{{passed_count}},
{{failed_count}},
{{error_count}},
'{{execution_url}}'
);سكربت Python: إنشاء تذكرة في نظام خارجي عبر API
خطوة "Run a Script" باستخدام Python لاستدعاء واجهة JIRA API عندما تتغيّر حالة اختبار حرج إلى "Now Failing":
import requests
import json
url = "https://your-domain.atlassian.net/rest/api/2/issue"
headers = {
"Content-Type": "application/json",
"Authorization": "Basic YOUR_API_TOKEN"
}
payload = {
"fields": {
"project": {"key": "DQ"},
"summary": "Data Quality Alert: {{test_name}} is Now Failing",
"description": (
"Test *{{test_name}}* in project *{{project_name}}* "
"has changed status to Now Failing.\n\n"
"Result: {{result}}\n"
"Failed Count: {{failed_count}}\n"
"Execution: {{execution_url}}"
),
"issuetype": {"name": "Bug"},
"priority": {"name": "High"}
}
}
response = requests.post(url, headers=headers, data=json.dumps(payload))بريد إلكتروني: إشعار عند تغيّر الحالة
خطوة "Send an Email" تحتوي على حقول قوالب في الموضوع والنص. الموضوع:
Data Quality Alert: {{test_name}} — {{result}}النص:
The test {{test_name}} in project {{project_name}} has changed status.
Result: {{result}}
Started: {{start_date}}
Completed: {{complete_date}}
Duration: {{duration}}
Passed: {{passed_count}}
Failed: {{failed_count}}
Errors: {{error_count}}
View the execution details: {{execution_url}}قيمة بيانات وصفية: تحديث عنصر مرتبط
خطوة "Set Linked Object Metadata Value" على حقل مخصص نصي بعنوان "Last Test Result". القيمة:
{{result}} — {{test_name}} ({{complete_date}})يضبط هذا حقل العنصر المخصص المرتبط إلى قيمة مشابهة لـ: Failed — Hub Customer BK Uniqueness (3/27/2026 2:15 PM).
نصائح
- القيم النصية تحتاج إلى علامات اقتباس في SQL. عند استخدام حقول القوالب داخل سلاسل نصية في SQL، ضعها بين علامتَي اقتباس مفردتين: '{{test_name}}'. أما الحقول الرقمية مثل {{passed_count}} فلا تحتاج إلى علامات اقتباس.
- عاين قبل الحفظ. لخطوات "Run a Script" و"Run a Macro"، استخدم زر Preview لرؤية السكربت بعد تحليل حقول القوالب والتحقق من المخرجات.
- تعمل حقول القوالب في قيم البيانات الوصفية فقط مع الحقول المخصصة من نوع نصي؛ أما حقول Dropdown أو Tag List أو User/Group List فتختار فيها من خيارات محددة مسبقًا بدلًا من إدخال نص حر.
- حقل المستلمين في خطوات البريد الإلكتروني لا يدعم حقول القوالب — أدخل عناوين البريد الإلكتروني مباشرة.
الخطوة التالية
- What are Test Actions — نظرة عامة على إجراءات الاختبار والمُحفّزات والخطوات
- Configuring Simple Test Actions — دليل خطوة بخطوة لإنشاء المُحفّزات والخطوات