"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني استخدام Cucumber مع التنفيذ المتوازي لتسريع اختبارات BDD الخاصة بي؟

كيف يمكنني استخدام Cucumber مع التنفيذ المتوازي لتسريع اختبارات BDD الخاصة بي؟

تم النشر بتاريخ 2024-11-01
تصفح:905

How can I use Cucumber with parallel execution to speed up my BDD tests?

تنفيذ ملفات ميزات الخيار بالتوازي

مقدمة

في بيئات الاختبار الحديثة، يمكن أن يؤدي تنفيذ الاختبار المتوازي إلى تحسين كفاءة وسرعة عمليات الاختبار بشكل كبير. يسمح خيار Cucumber، وهو إطار عمل شائع للتطوير القائم على السلوك (BDD)، بالتنفيذ المتوازي لملفات الميزات.

النهج القائم على البرنامج المساعد

لتحقيق التنفيذ المتوازي في Cucumber، يمكنك استخدام الخيار- jvm-parallel-plugin. ينشئ هذا المكون الإضافي ديناميكيًا فئات تشغيل الاختبار التي يمكن تنفيذها بالتوازي.

  1. أضف المكون الإضافي إلى pom.xml:

  com.github.temyers
  cucumber-jvm-parallel-plugin
  2.1.0
  1. تكوين البرنامج المساعد في pom.xml:

  com.github.temyers
  cucumber-jvm-parallel-plugin
  2.1.0
  
    
      generateRunners
      generate-test-sources
      
        generateRunners
      
      
        foo, bar
        ${project.build.directory}/generated-test-sources/cucumber
        src/test/resources/features/
        target/cucumber-parallel
        json
      
    
  
استدعاء فئات العداء المولدة

أضف مكون إضافي Maven Surefire لاستدعاء فئات العداء التي تم إنشاؤها بالتوازي:


  org.apache.maven.plugins
  maven-surefire-plugin
  2.19
   
    5
    true
    
      **/*IT.class
    
  
Shared WebDriver

لتنفيذ الاختبارات بالتوازي، يجب مشاركة مثيل WebDriver وعدم إغلاقه بشكل صريح ضمن الاختبارات. تحقق فئة SharedDriver ما يلي:

public class SharedDriver extends EventFiringWebDriver {
    private static WebDriver REAL_DRIVER = null;

    static {
        Runtime.getRuntime().addShutdownHook(CLOSE_THREAD);
    }

    public SharedDriver() {
        super(CreateDriver());
    }

    public static WebDriver CreateDriver() {
        WebDriver webDriver;
        if (REAL_DRIVER == null)
            webDriver = new FirefoxDriver();
        setWebDriver(webDriver);
        return webDriver;
    }
}
اعتبارات إضافية

    التنفيذ المتوازي والشبكة:
  • للحصول على الأداء الأمثل، استخدم شبكة ذات عقد كافية (المتصفحات المسجلة في المركز).
  • ذاكرة المحور:
  • زيادة حجم التجمع (على سبيل المثال، -DPOOL_MAX=512) لعمليات تثبيت المحور التي تحتوي على عدد كبير من العقد (50).
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3