بمرور الوقت، قامت مجتمعنا بتطوير العديد من المشاريع التي يمكنك استخدامها كمصدر إلهام لإعداد مجموعة الاختبارات الخاصة بك.
مشاريع قوالب v9
webdriverio/cucumber-boilerplate
قالبنا الخاص لمجموعات اختبار Cucumber. قمنا بإنشاء أكثر من 150 تعريفًا للخطوات المحددة مسبقًا لك، حتى تتمكن من البدء في كتابة ملفات الميزات في مشروعك على الفور.
- الإطار:
- Cucumber
- WebdriverIO
- الميزات:
- أكثر من 150 خطوة محددة مسبقًا تغطي تقريبًا كل ما تحتاجه
- يدمج وظيفة Multiremote من WebdriverIO
- تطبيق تجريبي خاص
webdriverio/jasmine-boilerplate
مشروع قالب لتشغيل اختبارات WebdriverIO مع Jasmine باستخدام ميزات Babel ونمط كائنات الصفحة.
- الأطر
- WebdriverIO
- Jasmine
- الميزات
- نمط كائن الصفحة
- تكامل Sauce Labs
webdriverio/electron-boilerplate
مشروع قالب لتشغيل اختبارات WebdriverIO على تطبيق Electron بسيط.
- الأطر
- WebdriverIO
- Mocha
- الميزات
- محاكاة Electron API
syamphaneendra/webdriverio9-boilerplate
يحتوي مشروع القالب هذا على اختبارات WebdriverIO 9 للأجهزة المحمولة مع Cucumber وTypeScript وAppium لمنصات Android وiOS، متبعًا نمط كائن الصفحة. يتميز بتسجيل شامل، وتقارير، وإيماءات الجوال، وتصفح من التطبيق إلى الويب، وتكامل CI/CD.
-
الأطر:
- WebdriverIO v9
- Cucumber v9
- Appium v2.5
- TypeScript v5
-
الميزات:
- دعم منصات متعددة
- Android (UiAutomator2)
- iOS (XCUITest)
- إيماءات الجوال
- التمرير
- السحب
- الضغط المطول
- إخفاء لوحة المفاتيح
- التنقل من التطبيق إلى الويب
- تبديل السياق
- دعم WebView
- أتمتة المتصفح (Chrome/Safari)
- حالة التطبيق الجديدة
- إعادة ضبط التطبيق تلقائيًا بين السيناريوهات
- سلوك إعادة الضبط قابل للتكوين (noReset, fullReset)
- تكوين الجهاز
- إدارة الأجهزة مركزية
- تبديل المنصات بسهولة
- مثال على هيكل الدليل لـ JavaScript / TypeScript. فيما يلي إصدار JS، إصدار TS له نفس الهيكل أيضًا.
- دعم منصات متعددة
amiya-pattnaik/wdio-testgen-from-gherkin-js
amiya-pattnaik/wdio-testgen-from-gherkin-ts
إنشاء فئات صفحة WebdriverIO ومواصفات اختبار Mocha تلقائيًا من ملفات Gherkin .feature — مما يقلل ا لجهد اليدوي، ويحسن الاتساق، ويسرع أتمتة ضمان الجودة. لا ينتج هذا المشروع رموزًا متوافقة مع webdriver.io فحسب، بل يعزز أيضًا جميع وظائف webdriver.io. لقد أنشأنا نكهتين، واحدة لمستخدمي JavaScript والأخرى لمستخدمي TypeScript. لكن كلا المشروعين يعملان بنفس الطريقة.
كيف تعمل؟
- تتبع العملية أتمتة من خطوتين:
- الخطوة 1: Gherkin إلى stepMap (إنشاء ملفات stepMap.json)
- إنشاء ملفات stepMap.json:
- تحليل ملفات .feature المكتوبة بصيغة Gherkin.
- استخراج السيناريوهات والخطوات.
- إنتاج ملف .stepMap.json منظم يحتوي على:
- الإجراء المراد تنفيذه (مثل النقر، وضبط النص، والتأكيد من الرؤية)
- selectorName للتعيين المنطقي
- المحدد لعنصر DOM
- ملاحظة للقيم أو التأكيد
- إنشاء ملفات stepMap.json:
- الخطوة 2: stepMap إلى الكود (إنشاء كود WebdriverIO).
يستخدم stepMap.json لإنشاء:
- إنشاء فئة base page.js مع الطرق المشتركة وإعداد browser.url().
- إنشاء فئات نموذج كائن الصفحة (POM) متوافقة مع WebdriverIO لكل ميزة داخل test/pageobjects/.
- إنشاء مواصفات اختبار تعتمد على Mocha.
- مثال على هيكل الدليل لـ JavaScript / TypeScript. فيما يلي إصدار JS، إصدار TS له نفس الهيكل أيضًا.
project-root/
├── features/ # Gherkin .feature files (user input / source file)
├── stepMaps/ # Auto-generated .stepMap.json files
├── test/
│ ├── pageobjects/ # Auto-generated WebdriverIO tests Page Object Model classes
│ └── specs/ # Auto-generated Mocha test specs
├── src/
│ ├── cli.js # Main CLI logic
│ ├── generateStepsMap.js # Feature-to-stepMap generator
│ ├── generateTestsFromMap.js # stepMap-to-page/spec generator
│ ├── utils.js # Helper methods
│ └── config.js # Paths, fallback selectors, aliases
│ └── __tests__/ # Unit tests (Vitest)
├── testgen.js # CLI entry point
│── wdio.config.js # WebdriverIO configuration
├── package.json # Scripts and dependencies
├── selector-aliases.json # Optional user-defined selector overrides the primary selector
مشاريع قوالب v8
amiya-pattnaik/webdriverIO-with-cucumberBDD
- الإطار: WDIO-V8 مع Cucumber (V8x).
- الميزات:
- نموذج كائنات الصفحة يستخدم مع نهج فئة ES6 /ES7 ودعم TypeScript
- أمثلة لخيار المحدد المتعدد للاستعلام عن عنصر بأكثر من محدد واحد في وقت واحد
- أمثلة على تنفيذ متصفح متعدد ومتصفح بدون واجهة باستخدام Chrome و Firefox
- تكامل الاختبار السحابي مع BrowserStack و Sauce Labs و TestMu AI (سابقًا LambdaTest)
- أمثلة على قراءة/كتابة البيانات من MS-Excel لسهولة إدارة بيانات الاختبار من مصادر البيانات الخارجية مع أمثلة
- دعم قاعدة البيانات لأي RDBMS (Oracle، MySql، TeraData، Vertica إلخ)، وتنفيذ أي استعلامات / جلب مجموعة النتائج وما إلى ذلك مع أمثلة لاختبار E2E
- تقارير متعددة (Spec، Xunit/Junit، Allure، JSON) واستضافة تقارير Allure و Xunit/Junit على WebServer.
- أمثلة مع تطبيق تجريبي https://search.yahoo.com/ و http://the-internet.herokuapp.com.
- ملفات
.configخاصة بـ BrowserStack و Sauce Labs و TestMu AI (سابقًا LambdaTest) و Appium (للتشغيل على الأجهزة المحمولة). لإعداد Appium بنقرة واحدة على الجهاز المحلي لنظامي iOS و Android، راجع appium-setup-made-easy-OSX.
amiya-pattnaik/webdriverIO-with-mochaBDD
- الإطار: WDIO-V8 مع Mocha (V10x).
- الميزات:
- نموذج كائنات الصفحة يستخدم مع نهج فئة ES6 /ES7 ودعم TypeScript
- أمثلة مع تطبيق تجريبي https://search.yahoo.com و http://the-internet.herokuapp.com
- أمثلة على تنفيذ متصفح متعدد ومتصفح بدون واجهة باستخدام Chrome و Firefox
- تكامل الاختبار السحابي مع BrowserStack و Sauce Labs و TestMu AI (سابقًا LambdaTest)
- تقارير متعددة (Spec، Xunit/Junit، Allure، JSON) واستضافة تقارير Allure و Xunit/Junit على WebServer.
- أمثلة على قراءة/كتابة البيانات من MS-Excel لسهولة إدارة بيانات الاختبار من مصادر البيانات الخارجية مع أمثلة
- أمثلة على اتصال قاعدة البيانات بأي RDBMS (Oracle، MySql، TeraData، Vertica إلخ)، وتنفيذ أي استعلام / جلب مجموعة نتائج وما إلى ذلك مع أمثلة لاختبار E2E
- ملفات
.configخاصة بـ BrowserStack و Sauce Labs و TestMu AI (سابقًا LambdaTest) و Appium (للتشغيل على الأجهزة المحمولة). لإعداد Appium بنقرة واحدة على الجهاز المحلي لنظامي iOS و Android، راجع appium-setup-made-easy-OSX.
amiya-pattnaik/webdriverIO-with-jasmineBDD
- الإطار: WDIO-V8 مع Jasmine (V4x).
- الميزات:
- نموذج كائنات الصفحة يستخدم مع نهج فئة ES6 /ES7 ودعم TypeScript
- أمثلة مع تطبيق تجريبي https://search.yahoo.com و http://the-internet.herokuapp.com
- أمثلة على تنفيذ متصفح متعدد ومتصفح بدون واجهة باستخدام Chrome و Firefox
- تكامل الاختبار السحابي مع BrowserStack و Sauce Labs و TestMu AI (سابقًا LambdaTest)
- تقارير متعددة (Spec، Xunit/Junit، Allure، JSON) واستضافة تقارير Allure و Xunit/Junit على WebServer.
- أمثلة على قراءة/كتابة البيانات من MS-Excel لسهولة إدارة بيانات الاختبار من مصادر البيانات الخارجية مع أمثلة
- أمثلة على اتصال قاعدة البيانات بأي RDBMS (Oracle، MySql، TeraData، Vertica إلخ)، وتنفيذ أي استعلام / جلب مجموعة نتائج وما إلى ذلك مع أمثلة لاختبار E2E
- ملفات
.configخاصة بـ BrowserStack و Sauce Labs و TestMu AI (سابقًا LambdaTest) و Appium (للتشغيل على الأجهزة المحمولة). لإعداد Appium بنقرة واحدة على الجهاز المحلي لنظامي iOS و Android، راجع appium-setup-made-easy-OSX.
syamphaneendra/webdriverio-web-mobile-boilerplate
يحتوي مشروع القالب هذا على اختبارات WebdriverIO 8 مع cucumber وtypescript، متبوعًا بنمط كائنات الصفحة.
-
الأطر:
- WebdriverIO v8
- Cucumber v8
-
الميزات:
- Typescript v5
- نمط كائن الصفحة
- Prettier
- دعم متصفحات متعددة
- Chrome
- Firefox
- Edge
- Safari
- Standalone
- تنفيذ متوازي عبر المتصفحات
- Appium
- تكامل اختبار سحابي مع BrowserStack و Sauce Labs
- خدمة Docker
- خدمة مشاركة البيانات
- ملفات تكوين منفصلة لكل خدمة
- إدارة بيانات الاختبار والقراءة حسب نوع المستخدم
- التقارير
- Dot
- Spec
- تقرير html متعدد لـ cucumber مع لقطات شاشة للفشل
- خطوط أنابيب Gitlab لمستودع Gitlab
- إجراءات Github لمستودع Github
- Docker compose لإعداد مركز Docker
- اختبار إمكانية الوصول باستخدام AXE
- الاختبار المرئي باستخدام Applitools
- آلية السجل
klassijs/klassi-js (cucumber-template)
-
الأطر
- WebdriverIO (v8)
- Cucumber (v8)
-
الميزات
- يحتوي على سيناريو اختبار عينة في cucumber
- تقارير html لـ cucumber متكاملة مع مقاطع فيديو مضمنة عند الفشل
- خدمات Lambdatest و CircleCI متكاملة
- اختبار مرئي، وإمكانية الوصول، واختبار API مدمج
- وظائف البريد الإلكتروني المتكاملة
- تخزين تقارير اختبار s3 bucket واسترجاعها متكاملة