سؤال

يبدو أن هناك مقارنة قليلة جدًا بين السيلينيوم / واتين و Simpletest (التي لديها ميزات اختبار الويب أيضا).

حاولت السيلينيوم ووجدت واجهة المستخدم الرسومية رائعة لإنشاء اختبارات كما ترون ما يجري وتسجيله دون كتابة جميع الأوامر يدويًا.

أما بالنسبة لإجراء الاختبارات ، فإن السيلينيوم أكثر تعقيدًا من Simpletest. ل simpletest عليك فقط قم بتشغيل نص PHP الذي يقوم بجميع الاختبارات (عميل أو جانب المتصفح). هذا يعني ذاك مهما كانت إعدادات المتصفح أو المتصفح أنت تستخدم ، يمكنك ببساطة الذهاب إلى عنوان URL للاختبار و سوف يعمل بنفس الشيء.

ما الذي سيكون مفيدًا هنا بعض التعليقات من الأشخاص الذين استخدموا السيلينيوم أو واتين: لماذا يشتهر السيلينيوم؟ بعبارات أخرى، ماذا سيكون الفائدة الرئيسية لاستخدام السيلينيوم على سبيل المثال ، على Simpletest؟

ملاحظة: يرجى استبعاد أسباب مثل "Simpletest يتطلب php" ؛ هذا واضح إلى حد ما هو PHP مدرج في معظم المصباح على أي حال.

هل كانت مفيدة؟

المحلول

نظرًا لأن Simpletest يتعامل فقط مع محتوى HTML الخاص بالصفحة ، لا يمكنك اختبار الصفحات معها تعتمد على سلوك JavaScript. في نهاية اليوم ، تكون مفاضلة السرعة والوظائف.

  • إذا كنت بحاجة إلى وظيفة JavaScript أو ترغب في اختبار سلوك المتصفح الخاص ، فاستخدم السيلينيوم.
  • إذا كنت تريد السرعة ولديك صفحات HTML ثابتة ، فاستخدم Simpletest.

راجع للشغل ، يمكن دمج السيلينيوم في مجموعة اختبار phpunit: http://www.phpunit.de/manual/3.1/en/selenium.html

نصائح أخرى

هناك فرق كبير بين Simpletest's Web-Tester و ال جناح السيلينيوم :

  • سيلينيوم يعمل مع أ متصفح حقيقي :
    • في كل مرة يتم فيها إطلاق اختبار ، يتم إطلاق Firefox حقيقي ، أو مستكشف Internet REAL
    • يتم كل التصفح في هذا المتصفح الحقيقي
    • مما يعني أنك تحصل على جميع ميزات JavaScript من المتصفح-أي يمكنك اختبار صفحات الويب الديناميكية بالكامل.
  • Simpletest's Web-Tester يحاكي المتصفح :
    • يتم إرسال طلب HTTP ، يتم جلب محتوى HTML
    • ويتم تحليل محتوى HTML هذا
    • هناك مستوى من الميزات لاختبار ملفات تعريف الارتباط والأشكال ؛ لكن لا شيء عن جافا سكريبت


بضع عواقب وعلى الرغم من ذلك:

  • تستغرق اختبارات السيلينيوم الكثير من الوقت لتنفيذها: إطلاق متصفح وتصفح (والتي تتضمن تنزيل JS/CSS/الصور ، عرض كل شيء بما في ذلك الإعلانات ، ...), ، طويل وبطيء
  • يجب أن تكون اختبارات Simpletest أسرع: فقط أرسل طلب HTTP ، تحليل HTML ، وهذا كل شيء
  • يتطلب السيلينيوم آلة ذات واجهة رسومية ، لإطلاق المتصفح ، وهو برنامج رسومي ؛ مما يعني أيضًا أنه من الصعب التثبيت/التكوين
  • يسمح لك السيلينيوم باختبار التطبيقات الغنية/الديناميكية/القائمة على جافا سكريبت أفضل بكثير من جلب وتحليل HTML فقط
  • إذا كنت تختبر تطبيق PHP ، فإن phpunit يعتبر بشكل عام أفضل بكثير (تم الحفاظ على Activelly وتطوره ، على الأقل) هذا التبسيط. و Phpunit لديه دعم لاختبارات السيلينيوم


أود أن أوصي بمجموعة من الاثنين ، إذا استطعت:

  • اختبار الأشياء المتعلقة بـ HTML مع Simpletest (أو Zend_Test, ، إذا كان استخدام Zend Framework) :
    • سيكون أسرع
    • هذه الاختبارات لن تعتمد على المتصفح
  • اختبار الصفحات الديناميكية مع السيلينيوم

أي استخدام أفضل من كلتا الأدوات ؛-)

فقط لإضافة خيار آخر ، يعمل TestPlan مع كل من السيلينيوم الخلفي و htmlunit ، بحيث يمكن استخدامه مع لدينا بدون متصفح. لغة البرمجة النصية بسيطة وتتيح إنشاء مهام التشغيل الآلي السريع.

يدعم الواجهة الخلفية التي لا يمكن أن تكون غير الممتلكات JavaScript بشكل جيد للغاية ، ولكن بالنسبة لتلك الحالات التي لا تعمل فيها فقط ، يمكنك فقط التبديل إلى وضع السيلينيوم وتستخدم متصفحًا حقيقيًا.

لاحظ أيضًا أن Simpletest يحتاج إلى تصحيح قاعدة كود Drupal. لا يمكنك اختبار موقعك على مرآة دقيقة لموقع الإنتاج الخاص بك.

يعتبر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top