دليل Validatar

تهيئة إجراءات الاختبار البسيطة

Configuring Simple Test Actions

دليل عملي لإنشاء المُحفّزات (triggers) وربط الخطوات (steps) بها، مع شرح تفصيلي لأنواع الخطوات الستة المتاحة في اختبار قياسي.

لوحة المتابعة

نظرة عامة

يشرح هذا المقال كيفية إنشاء وتهيئة إجراءات الاختبار (test actions) على اختبار قياسي (standard test). ستتعرف على كيفية إضافة المُحفّزات (triggers)، وربط الخطوات (steps) بتلك المُحفّزات، وتهيئة كل نوع من أنواع الخطوات الستة المتاحة.

خلفية

للاطلاع على خلفية حول ماهية إجراءات الاختبار وكيفية عملها، راجع مقال What are Test Actions.

الوصول إلى تبويب Actions

  1. 1افتح المشروع (project) وانتقل إلى الاختبار الذي تريد تهيئته.
  2. 2افتح شاشة تهيئة الاختبار (test configuration).
  3. 3انقر على تبويب Actions.

يعرض تبويب Actions جميع المُحفّزات الموجودة وخطواتها. إذا لم يتم تهيئة أي إجراء بعد، ستظهر رسالة "No actions have been created yet."

ملاحظة

يجب أن تمتلك صلاحية وصول من مستوى Creator لإضافة أو تعديل إجراءات الاختبار.

إضافة مُحفّز (Trigger)

يحدد المُحفّز الشرط الذي بموجبه تُنفَّذ خطوات الإجراء. لإضافة مُحفّز:

  1. 1انقر على Add Action في شريط الأدوات.
  2. 2في نافذة Add Action Trigger، اختر Trigger Type من القائمة المنسدلة.
  3. 3إذا كان نوع المُحفّز يتطلب شرطًا، تظهر قائمة منسدلة ثانية: Test Ran لا يحتاج إلى إعداد إضافي ويُطلق عند كل تنفيذ، أو Test Resulted In حيث تختار حالة الاختبار Test Status وهي Passed أو Failed أو Error، أو Test Overall Status Changed To حيث تختار Overall Status (انظر الجدول أدناه).
  4. 4انقر على Add Action لحفظ المُحفّز.

خيارات الحالة العامة Overall Status

شكل 1: خيارات الحالة العامة Overall Status
الحالةالمعنى
Consistent Passingالاختبار ينجح باستمرار عبر عمليات التنفيذ الأخيرة
Consistent Failingالاختبار يفشل باستمرار عبر عمليات التنفيذ الأخيرة
Consistent Erroringالاختبار يظهر أخطاء باستمرار عبر عمليات التنفيذ الأخيرة
Now Passingانتقل الاختبار للتو إلى حالة النجاح
Now Failingانتقل الاختبار للتو إلى حالة الفشل
Now Erroringانتقل الاختبار للتو إلى حالة الخطأ
Intermittent Passingالاختبار ينجح في الغالب مع بعض حالات الفشل المتفرقة
Intermittent Failuresالاختبار يشهد حالات فشل متقطعة
Intermittent Errorsالاختبار يشهد حالات خطأ متقطعة
ملاحظة

لا يُطلق المُحفّز "Test Overall Status Changed To" إلا عندما تتغيّر الحالة العامة فعليًا نتيجة التنفيذ الحالي، مما يجعله مثاليًا للإشعارات التي لا ينبغي أن تتكرر مع كل تنفيذ.

يمكنك إضافة عدة مُحفّزات إلى اختبار واحد، بما في ذلك عدة مُحفّزات من النوع نفسه بشروط مختلفة (مثلاً مُحفّز لحالة "Now Failing" وآخر لحالة "Now Erroring").

إضافة خطوات إلى المُحفّز

بعد إنشاء المُحفّز، يمكنك إضافة خطوة واحدة أو أكثر إليه:

  1. 1انقر على Add Step ضمن المُحفّز الذي تريد تهيئته.
  2. 2في نافذة Add Action Step، اختر Step Type من القائمة المنسدلة.
  3. 3قم بتهيئة الخطوة وفقًا لنوعها (انظر أدناه).
  4. 4انقر على Add Step للحفظ.

تُنفَّذ الخطوات بالتسلسل حسب ترتيبها في القائمة. وفي حال فشلت إحدى الخطوات، تستمر الخطوات التالية في التنفيذ.

إدارة المُحفّزات والخطوات

إعادة الترتيب: تدعم المُحفّزات والخطوات إعادة الترتيب بالسحب والإفلات. أمسك مقبض السحب على الجانب الأيسر من المُحفّز أو الخطوة واسحبه إلى الموضع المطلوب.

التفعيل والتعطيل: لكل مُحفّز وخطوة مفتاح تفعيل/تعطيل. تعطيل المُحفّز يمنع تنفيذ جميع خطواته، بينما تعطيل خطوة فردية يتخطاها مع استمرار تنفيذ البقية.

التعديل: انقر على Configure في المُحفّز لتغيير نوعه أو شرطه. انقر على Configure Step في الخطوة لتعديل إعداداتها.

الحذف: انقر على أيقونة X في المُحفّز أو الخطوة لإزالتها، وستتم مطالبتك بتأكيد الحذف.

ملاحظة

تذكّر حفظ الاختبار بعد إجراء تغييرات على الإجراءات، حيث تُحفظ تغييرات الإجراءات ضمن تهيئة الاختبار الكاملة.

تهيئة كل نوع من أنواع الخطوات

Run a Standard Test

شكل 2: Run a Standard Test

يشغّل هذا النوع اختبارًا قياسيًا آخر ضمن المشروع نفسه، ويُستخدم غالبًا لتشغيل اختبار تفصيلي بعد فشل اختبار عالي المستوى.

  1. 1اختر Run a Standard Test كنوع للخطوة.
  2. 2ابدأ بكتابة اسم الاختبار المستهدف في حقل البحث.
  3. 3اختر الاختبار من قائمة النتائج المُصفّاة؛ يُعرض المسار الكامل للمجلد واسم الاختبار للمساعدة في تحديد الاختبار الصحيح.

يُنفَّذ الاختبار المستهدف كدفعة (batch) منفصلة، بمعزل عن سياق دفعة الاختبار الأصلي.

Run a Script

يُنفَّذ هذا النوع سكربت SQL أو Python مقابل مصدر بيانات مرتبط بالمشروع. ويدعم محرر السكربت الإكمال التلقائي لحقول القوالب (template fields) والمراجع المساعدة (helper references).

  1. 1اختر Run a Script كنوع للخطوة.
  2. 2اختر Data Source من القائمة المنسدلة؛ تكون مصادر البيانات المتاحة هي تلك المرتبطة بالمشروع الحالي، وإذا كان هناك مصدر واحد فقط فسيتم اختياره تلقائيًا.
  3. 3اكتب السكربت في المحرر؛ يُحدَّد وضع المحرر (SQL أو Python) وفق نوع الاتصال الخاص بمصدر البيانات.
شكل 3: Run a Script
ملاحظة

يمكنك استخدام حقول القوالب في السكربت لحقن قيم تنفيذ الاختبار وقت التشغيل، فمثلاً {{test_name}} يُحلَّل إلى اسم الاختبار الذي أطلق الإجراء. راجع مقال Using Template Fields in Test Actions للاطلاع على القائمة الكاملة.

استخدم زر Preview لتنفيذ السكربت في وضع تجريبي (dry-run) والتحقق من المخرجات قبل الحفظ. تعرض المعاينة رسائل التنفيذ وأي ملفات ناتجة والسكربت المنفَّذ بعد تحليل حقول القوالب.

Run a Macro

يُنفَّذ هذا النوع ماكرو (macro) مكتوبًا مسبقًا من قالب مصدر البيانات. الماكروهات هي سكربتات مُعامَلة (parameterized) محفوظة على مستوى محرك البيانات وتقبل قيم إدخال لحقول العناصر النائبة (placeholder).

  1. 1اختر Run a Macro كنوع للخطوة.
  2. 2اختر Data Source من القائمة المنسدلة.
  3. 3اختر Macro من قائمة الماكروهات المتاحة على محرك مصدر البيانات المختار.
  4. 4أدخل قيم مُعاملات الماكرو؛ تدعم بعض المُعاملات البحث عبر البيانات الوصفية (metadata lookup) — انقر على حقل المُعامل لتصفح المخططات (schemas) أو الجداول أو الأعمدة المتاحة حسب نوع المُعامل.
شكل 4: Run a Macro

تستخدم مُعاملات الماكرو صياغة Handlebars لتحليل العناصر النائبة. كما يُعالَج سكربت الماكرو نفسه عبر حقول قوالب تنفيذ الاختبار، لذا تكون القيم الديناميكية مثل {{result}} متاحة في السكربت النهائي المنفَّذ.

استخدم زر Preview للتحقق من تنفيذ الماكرو قبل الحفظ.

Send an Email

يُرسِل هذا النوع إشعارًا عبر البريد الإلكتروني إلى المستلمين المحددين، ويتطلب تهيئة SMTP مسبقًا. راجع مقال SMTP Settings للإعداد.

  1. 1اختر Send an Email كنوع للخطوة.
  2. 2أدخل Recipients كقائمة عناوين بريد إلكتروني مفصولة بفواصل أو فواصل منقوطة.
  3. 3أدخل Email Subject.
  4. 4اكتب Email Body باستخدام محرر النصوص المنسّقة.
شكل 5: Send an Email

تُدعَم حقول القوالب في حقلي الموضوع والنص (لكن ليس في حقل المستلمين). اكتب { في محرر نص البريد الإلكتروني لتشغيل نافذة إكمال تلقائي تعرض حقول القوالب والمراجع المساعدة المتاحة.

Set Linked Object Metadata Value

يُحدِّث هذا النوع قيمة حقل مخصص (custom field) على عنصر بيانات وصفية (schema أو table أو column) مرتبط بمجموعات بيانات الاختبار.

شرط أساسي

يجب أن يمتلك الاختبار روابط بيانات وصفية (metadata links) مهيَّأة على مجموعات بياناته. تظهر فقط العناصر المرتبطة كخيارات في هذه الخطوة.

  1. 1اختر Set Linked Object Metadata Value كنوع للخطوة.
  2. 2اختر Linked Object من القائمة المنسدلة؛ إذا وُجد عنصر مرتبط واحد فقط فسيتم اختياره تلقائيًا.
  3. 3اختر Custom Field المراد تحديثه؛ الحقول مجمّعة حسب القسم.
  4. 4حدد Value وفق نوع بيانات الحقل: Text (أدخل نصًا، وتُدعم حقول القوالب) أو Dropdown (اختر من الخيارات المتاحة) أو Date (أدخل قيمة تاريخ) أو Tag List (اختر وسمًا واحدًا أو أكثر وحدد وضع التعديل الجماعي، انظر أدناه) أو User/Group List (اختر مستخدمًا أو مجموعة أو أكثر وحدد وضع التعديل الجماعي).
  5. 5اختياريًا، فعّل Certify Value لحماية القيمة من الاستبدال بواسطة الذكاء الاصطناعي أو أي عمليات آلية أخرى؛ تتطلب القيم المُعتمدة (certified) تأكيدًا صريحًا قبل إمكانية تغييرها عبر الواجهة.
شكل 6: Set Linked Object Metadata Value

Set Test Metadata Value

يُحدِّث هذا النوع قيمة حقل مخصص على الاختبار نفسه. الإعداد مشابه لخطوة "Set Linked Object Metadata Value"، لكنه يستهدف الاختبار بدلًا من عنصر البيانات الوصفية المرتبط.

  1. 1اختر Set Test Metadata Value كنوع للخطوة.
  2. 2اختر Custom Field المراد تحديثه؛ الحقول مجمّعة حسب القسم.
  3. 3حدد القيمة باستخدام نفس الخيارات الموصوفة أعلاه (نص، قائمة منسدلة، تاريخ، قائمة وسوم، أو قائمة مستخدمين/مجموعات).
  4. 4اختياريًا، فعّل Certify Value.

أوضاع التعديل الجماعي للحقول متعددة القيم

عند التعامل مع حقول Tag List أو User/Group List في أي من خطوتي البيانات الوصفية، يجب اختيار وضع تعديل جماعي (bulk edit mode) يتحكم في كيفية تفاعل القيمة الجديدة مع القيم الموجودة:

الوضعالسلوك
Add to Existingيضيف القيم المختارة إلى ما هو موجود بالفعل في الحقل
Replace All Withيزيل جميع القيم الموجودة ويستبدلها بالقيم المختارة
Find and Removeيزيل فقط القيم المحددة من الحقل مع إبقاء البقية كما هي
Clear Fieldيزيل جميع القيم من الحقل بالكامل
شكل 7: أوضاع التعديل الجماعي للحقول متعددة القيم

مثال: تشغيل اختبار تفصيلي عند الفشل

من الأنماط الشائعة إقران اختبار سريع عالي المستوى لعدّ الصفوف مع اختبار مقارنة تفصيلي:

  1. 1أنشئ (أو افتح) اختبار عدّ الصفوف العالي المستوى.
  2. 2انتقل إلى تبويب Actions.
  3. 3انقر على Add Action واختر Test Resulted In مع الشرط Failed.
  4. 4انقر على Add Step ضمن المُحفّز الجديد.
  5. 5اختر Run a Standard Test وابحث عن اختبار المقارنة التفصيلي.
  6. 6احفظ الاختبار.

الآن، عندما يفشل اختبار عدّ الصفوف، يعمل اختبار المقارنة التفصيلي تلقائيًا لإظهار الاختلافات المحددة.

مثال: إشعار عند تغيّر الحالة

لإرسال بريد إلكتروني عندما ينتقل الاختبار إلى حالة الفشل:

  1. 1افتح الاختبار وانتقل إلى تبويب Actions.
  2. 2انقر على Add Action واختر Test Overall Status Changed To مع الشرط Now Failing.
  3. 3انقر على Add Step واختر Send an Email.
  4. 4أدخل المستلمين والموضوع والنص، مستخدمًا حقول القوالب في الموضوع والنص لتضمين اسم الاختبار ورابط التنفيذ (راجع Using Template Fields in Test Actions).
  5. 5احفظ الاختبار.

سيُرسَل البريد الإلكتروني فقط عندما تنتقل الحالة العامة للاختبار فعليًا إلى "Now Failing" — وليس مع كل تنفيذ فاشل.

الخطوة التالية

  • Using Template Fields in Test Actions — كيفية استخدام القيم الديناميكية مثل {{test_name}} و {{result}} و {{execution_url}} في السكربتات والرسائل والقيم الوصفية.