دليل Validatar

استخدام حقول القوالب في إجراءات الاختبار

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}}رابط المشروع في Validatarhttps://app.validatar.com/projects/42
{{folder_path}}المسار الكامل للمجلد من جذر المشروع إلى مجلد الاختبارData Vault / Hub Tests
{{folder_name}}اسم المجلد الأب المباشر للاختبارHub Tests
{{folder_url}}رابط مجلد الاختبار في Validatarhttps://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. 1اكتب { في المحرر.
  2. 2تظهر نافذة منبثقة تعرض جميع حقول القوالب والمراجع المساعدة المتاحة.
  3. 3استخدم مفاتيح الأسهم للتنقل في القائمة، أو استمر بالكتابة للتصفية.
  4. 4اضغط Enter أو Tab لإدراج الحقل المحدد.
شكل 1: استخدام الإكمال التلقائي

يُدرج الإكمال التلقائي تعبير 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 — دليل خطوة بخطوة لإنشاء المُحفّزات والخطوات