وقت تشغيل مخصص للغة رست فقط.
يعمل داخل عملية واحدة مكتوبة بلغة Rust. لا يتطلب أي متصفح خارجي، أو مكتبة WebDriver، أو بيئة Node.js.
مصدر مفتوح / حاوية.
"browser-tester" هو بيئة اختبار تشبه المتصفح، تعتمد على لغة Rust بالكامل، وتعمل بطريقة محددة وقابلة للتكرار. وهي تتحقق من سلوك عناصر DOM والأحداث دون الحاجة إلى تشغيل متصفح حقيقي.
يركز برنامج "browser-tester" على اختبارات سلوك النماذج وواجهات المستخدم المتوقعة، بدلاً من اختبار توافق العرض الكامل للمتصفحات.
يعمل داخل عملية واحدة مكتوبة بلغة Rust. لا يتطلب أي متصفح خارجي، أو مكتبة WebDriver، أو بيئة Node.js.
تم تصميم هذا النظام لإجراء اختبارات متكررة، وذلك من خلال ميزات مثل: ساعة افتراضية، ومصدر عشوائي محدد، وواجهات برمجة تطبيقات للتحكم الدقيق في المؤقت.
يدعم سير العمل العملي المشابه للمتصفحات، بما في ذلك: تحديد العناصر، تنفيذ الأوامر البرمجية المضمنة، نقل الأحداث، وتحديثات نموذج العناصر (DOM).
دورة تغذية راجعة سريعة لاختبارات واجهة المستخدم التي تركز على النماذج، مع الحفاظ على تركيز مخرجات الأخطاء على المحددات والقيم المتوقعة/الفعلية.
قم بإنشاء إطار اختبار باستخدام HTML، وقم بتنفيذ التفاعلات، وتحقق من نتائج نموذج العناصر (DOM). ابدأ بإطار اختبار بسيط وقم بتوسيعه باستخدام مؤقتات وواجهات برمجة تطبيقات وهمية.
قم بتثبيت.
إضافة "browser_tester" إلى قائمة الحمولة.
مثال أساسي.
عمليات الاختبار الأساسية لعنصر نموذج كائن المستند (DOM): تتضمن `Harness::from_html`، و`type_text` (لإدخال نص)، و`set_checked` (لتحديد خانة الاختيار)، و`click` (لإجراء النقر)، و`submit` (لإرسال النموذج)، بالإضافة إلى أدوات مساعدة للتحقق من وجود نص أو قيمة أو حالة "محدد" أو وجود العنصر.
يمكن التحكم في السلوك غير المتزامن باستخدام ساعة وهمية. يمكن تحريك الوقت بشكل حتمي باستخدام واجهات برمجة التطبيقات الخاصة بـ `advance_time` و `advance_time_to` و `flush`، بالإضافة إلى واجهات فحص المؤقت.
يمكنك استخدام الدوال `set_fetch_mock` و `enqueue_confirm_response` و `enqueue_prompt_response` لإدخال استجابات عمليات الجلب ونتائج الحوارات في الاختبارات، وذلك للحفاظ على عزلة الاختبارات.
قم بتمكين سجلات التتبع واستخراج مسار الأحداث/المؤقتات عند فشل الاختبار. هذا مفيد لتصحيح أخطاء ترتيب الأحداث وسلوك الإجراءات الافتراضية.
إذا كنت بحاجة إلى واجهات برمجة تطبيقات إضافية للمتصفح لمجموعة الاختبارات الخاصة بك، يرجى فتح تذكرة (أو مشكلة) مع مثال بسيط لتوضيح النطاق والأولوية.