Skip to Content
Testingتحققات مخصصة

تحققات مخصصة

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

البنية

تحتاج كل مجموعة اختبار مخصص وصفا وتحققا منظما واحدا أو أكثر:

{ "description": "Verify the web service", "category": "application", "assertions": [ { "type": "service_running", "description": "Nginx is active", "params": { "service": "nginx" }, "expected_visual": "The evidence panel shows nginx active" }, { "type": "http_responds", "description": "Local health endpoint responds", "params": { "url": "http://localhost/health", "status": 200 } } ] }

description مطلوب على المجموعة وعلى كل تحقق. يختار on_vm معرف VM في بيئة اختبار متعددة الأجهزة؛ دونه يستخدم المشغّل primary. يقدّم expected_visual حالة لقطة الشاشة المقصودة عندما تكون بوابة الأدلة البصرية نشطة.

صمم التحققات حول النتائج

  • افحص خدمة بـ service_running، لا مجرد وجود حزمتها.
  • افحص نقطة نهاية محلية قبل اختبار مسار خارجي.
  • استخدم file_contains لحقيقة إعداد مستقرة واحدة، لا لقطة ملف كامل تنكسر على تنسيق غير ضار.
  • استخدم command_succeeds فقط مع أوامر حتمية غير تفاعلية.
  • أعطِ الأوامر الطويلة timeout_seconds فقط عند الحاجة. يقيّد المنفّذ مهلات الأوامر إلى 1–1,800 ثانية.
  • لا تضع اعتمادات في الأوامر، أو الأوصاف، أو المخرج المتوقع، أو عناوين URL؛ يمكن أن تظهر هذه الحقول في الأدلة والسجلات.

دلالات الفشل

نوع مجهول يقبله نموذج الوصفة حاليا لكنه يصبح error عندما لا يجد المنفّذ معالجا. التحققات المعروفة التي تحذف معاملات مطلوبة يمكن إسقاطها أثناء تجميع خطة الاختبار مع تحذير. لذلك، تحقق من الوصفة وافحص خطة الاختبار المادية قبل بدء بناء.

إذا سمّى on_vm جهازا غير موجود، يكون التحقق skipped. لا تعامل skipped أو error كتحقق ناجح.

مثال متعدد الأجهزة

{ "description": "Client reaches the API node", "assertions": [ { "type": "http_responds", "description": "API health is reachable from the client", "on_vm": "client", "params": { "url": "http://api:8080/health", "status": 200 } } ], "environment": { "vms": [ { "vm_id": "client", "role": "client", "networks": ["lan"] }, { "vm_id": "api", "role": "server", "networks": ["lan"] } ], "networks": [ { "network_id": "lan", "type": "isolated", "dhcp": true } ] } }

يعتمد حل أسماء VM على طوبولوجيا الاختبار وعناوينها المكتشفة. أكد الطوبولوجيا المعروضة وأمر التحقق المحلول في أدلة التشغيل.

لكل نوع ومعامل مدعوم، راجع أنواع التحقق.