Au fil du temps, notre communauté a développé plusieurs projets que vous pouvez utiliser comme inspiration pour mettre en place votre propre suite de tests.
Projets de base v9
webdriverio/cucumber-boilerplateâ
Notre propre projet de base pour les suites de tests Cucumber. Nous avons créé plus de 150 définitions d'étapes prédéfinies pour vous, afin que vous puissiez commencer à écrire des fichiers de fonctionnalités dans votre projet immédiatement.
- Framework:
- Cucumber
- WebdriverIO
- Fonctionnalités:
- Plus de 150 étapes prédéfinies qui couvrent presque tout ce dont vous avez besoin
- IntÚgre la fonctionnalité Multiremote de WebdriverIO
- Application de démonstration propre
webdriverio/jasmine-boilerplateâ
Projet de base pour exécuter des tests WebdriverIO avec Jasmine en utilisant les fonctionnalités de Babel et le modÚle de page objects.
- Frameworks
- WebdriverIO
- Jasmine
- Fonctionnalités
- ModĂšle Page Object
- Intégration avec Sauce Labs
webdriverio/electron-boilerplateâ
Projet de base pour exécuter des tests WebdriverIO sur une application Electron minimale.
- Frameworks
- WebdriverIO
- Mocha
- Fonctionnalités
- Simulation de l'API Electron
amiya-pattnaik/gherkin-to-webdriverIO-test-generatorâ
GĂ©nĂ©rez automatiquement des classes Page Object WebdriverIO et des spĂ©cifications de test Mocha Ă partir de fichiers .feature Gherkin â rĂ©duisant l'effort manuel, amĂ©liorant la cohĂ©rence et accĂ©lĂ©rant l'automatisation QA. Ce projet produit non seulement du code compatible avec webdriver.io, mais amĂ©liore Ă©galement toutes les fonctionnalitĂ©s de webdriver.io.
Comment ça fonctionne?
- Le processus suit une automatisation en deux étapes:
- Ătape 1: Gherkin vers stepMap (GĂ©nĂ©rer des fichiers stepMap.json)
- Générer des fichiers stepMap.json:
- Analyse les fichiers .feature écrits en syntaxe Gherkin.
- Extrait les scénarios et les étapes.
- Produit un fichier .stepMap.json structuré contenant:
- action à exécuter (par exemple, clic, setText, assertVisible)
- selectorName pour le mappage logique
- selector pour l'élément DOM
- note pour les valeurs ou l'assertion
- Générer des fichiers stepMap.json:
- Ătape 2: stepMap vers code (GĂ©nĂ©rer du code WebdriverIO)
Utilise stepMap.json pour générer:
- Générer une classe base page.js avec des méthodes partagées et la configuration browser.url().
- Générer des classes Page Object Model (POM) compatibles WebdriverIO par fonctionnalité dans test/pageobjects/.
- Générer des spécifications de test basées sur Mocha.
- Structure de répertoire
project-root/
âââ features/ # Fichiers de fonctionnalitĂ©s Gherkin d'entrĂ©e
âââ stepMaps/ # Cartes d'Ă©tapes gĂ©nĂ©rĂ©es (JSON)
âââ test/
â âââ pageobjects/ # Classe Page de base gĂ©nĂ©rĂ©e, classes Page Object
â âââ specs/ # SpĂ©cifications de test gĂ©nĂ©rĂ©es
âââ generateStepMap.js # Script gĂ©nĂ©rateur de StepMap
âââ generateTestsFromMap.js # GĂ©nĂ©rateur de PageObject + spĂ©cification de test
âââ package.json
âââ README.md
âââ wdio.conf.js
Projets de base v8
amiya-pattnaik/webdriverIO-with-cucumberBDDâ
- Framework: WDIO-V8 avec Cucumber (V8x).
- Fonctionnalités:
- Page Objects Model utilise l'approche basée sur les classes de style ES6/ES7 et la prise en charge de TypeScript
- Exemples d'option de sélecteur multiple pour interroger un élément avec plusieurs sélecteurs à la fois
- Exemples d'exécution multi-navigateurs et de navigateurs sans interface utilisateur utilisant Chrome et Firefox
- Intégration de tests cloud avec BrowserStack, Sauce Labs, LambdaTest
- Exemples de lecture/écriture de données depuis MS-Excel pour une gestion facile des données de test à partir de sources de données externes avec des exemples
- Support de base de donnĂ©es pour n'importe quel SGBDR (Oracle, MySql, TeraData, Vertica etc.), exĂ©cution de requĂȘtes / rĂ©cupĂ©ration de jeux de rĂ©sultats, etc. avec des exemples pour les tests E2E
- Rapports multiples (Spec, Xunit/Junit, Allure, JSON) et hébergement des rapports Allure et Xunit/Junit sur WebServer.
- Exemples avec l'application de démonstration https://search.yahoo.com/ et http://the-internet.herokuapp.com.
- Fichiers
.config
spécifiques à BrowserStack, Sauce Labs, LambdaTest et Appium (pour la lecture sur appareil mobile). Pour une configuration Appium en un clic sur une machine locale pour iOS et Android, référez-vous à appium-setup-made-easy-OSX.
amiya-pattnaik/webdriverIO-with-mochaBDDâ
- Framework: WDIO-V8 avec Mocha (V10x).
- Fonctionnalités:
- Page Objects Model utilise l'approche basée sur les classes de style ES6/ES7 et la prise en charge de TypeScript
- Exemples avec l'application de démonstration https://search.yahoo.com et http://the-internet.herokuapp.com
- Exemples d'exécution multi-navigateurs et de navigateurs sans interface utilisateur utilisant Chrome et Firefox
- Intégration de tests cloud avec BrowserStack, Sauce Labs, LambdaTest
- Rapports multiples (Spec, Xunit/Junit, Allure, JSON) et hébergement des rapports Allure et Xunit/Junit sur WebServer.
- Exemples de lecture/écriture de données depuis MS-Excel pour une gestion facile des données de test à partir de sources de données externes avec des exemples
- Exemples de connexion DB Ă n'importe quel SGBDR (Oracle, MySql, TeraData, Vertica etc.), exĂ©cution de requĂȘtes / rĂ©cupĂ©ration de jeux de rĂ©sultats, etc. avec des exemples pour les tests E2E
- Fichiers
.config
spécifiques à BrowserStack, Sauce Labs, LambdaTest et Appium (pour la lecture sur appareil mobile). Pour une configuration Appium en un clic sur une machine locale pour iOS et Android, référez-vous à appium-setup-made-easy-OSX.
amiya-pattnaik/webdriverIO-with-jasmineBDDâ
- Framework: WDIO-V8 avec Jasmine (V4x).
- Fonctionnalités:
- Page Objects Model utilise l'approche basée sur les classes de style ES6/ES7 et la prise en charge de TypeScript
- Exemples avec l'application de démonstration https://search.yahoo.com et http://the-internet.herokuapp.com
- Exemples d'exécution multi-navigateurs et de navigateurs sans interface utilisateur utilisant Chrome et Firefox
- Intégration de tests cloud avec BrowserStack, Sauce Labs, LambdaTest
- Rapports multiples (Spec, Xunit/Junit, Allure, JSON) et hébergement des rapports Allure et Xunit/Junit sur WebServer.
- Exemples de lecture/écriture de données depuis MS-Excel pour une gestion facile des données de test à partir de sources de données externes avec des exemples
- Exemples de connexion DB Ă n'importe quel SGBDR (Oracle, MySql, TeraData, Vertica etc.), exĂ©cution de requĂȘtes / rĂ©cupĂ©ration de jeux de rĂ©sultats, etc. avec des exemples pour les tests E2E
- Fichiers
.config
spécifiques à BrowserStack, Sauce Labs, LambdaTest et Appium (pour la lecture sur appareil mobile). Pour une configuration Appium en un clic sur une machine locale pour iOS et Android, référez-vous à appium-setup-made-easy-OSX.
syamphaneendra/webdriverio-web-mobile-boilerplateâ
Ce projet de base contient des tests WebdriverIO 8 avec cucumber et typescript, suivant le modĂšle des page objects.
-
Frameworks:
- WebdriverIO v8
- Cucumber v8
-
Fonctionnalités:
- Typescript v5
- ModĂšle Page Object
- Prettier
- Support multi-navigateurs
- Chrome
- Firefox
- Edge
- Safari
- Standalone
- Exécution parallÚle cross-browser
- Appium
- Intégration de tests cloud avec BrowserStack & Sauce Labs
- Service Docker
- Service de partage de données
- Fichiers de configuration séparés pour chaque service
- Gestion des données de test & lecture par type d'utilisateur
- Reporting
- Dot
- Spec
- Rapports html cucumber multiples avec captures d'écran des échecs
- Pipelines Gitlab pour le dépÎt Gitlab
- Actions Github pour le dépÎt Github
- Docker compose pour configurer le hub docker
- Tests d'accessibilité utilisant AXE
- Tests visuels utilisant Applitools
- Mécanisme de journalisation
klassijs/klassi-js (cucumber-template)â
-
Frameworks
- WebdriverIO (v8)
- Cucumber (v8)
-
Fonctionnalités
- Contient un scénario de test exemple dans cucumber
- Rapports html cucumber intégrés avec vidéos intégrées en cas d'échec
- Services Lambdatest et CircleCI intégrés
- Tests visuel, d'accessibilité et API intégrés
- Fonctionnalité d'email intégrée
- Bucket s3 intégré pour le stockage et la récupération des rapports de test
serenity-js/serenity-js-mocha-webdriverio-template/â
Projet modÚle Serenity/JS pour vous aider à démarrer avec les tests d'acceptation de vos applications web en utilisant les derniÚres versions de WebdriverIO, Mocha et Serenity/JS.
-
Frameworks
- WebdriverIO (v8)
- Mocha (v10)
- Serenity/JS (v3)
- Reporting Serenity BDD
-
Fonctionnalités
- Screenplay Pattern
- Captures d'écran automatiques en cas d'échec de test, intégrées dans les rapports
- Configuration d'Intégration Continue (CI) utilisant GitHub Actions
- Rapports de démonstration Serenity BDD publiés sur GitHub Pages
- TypeScript
- ESLint
serenity-js/serenity-js-cucumber-webdriverio-template/â
Projet modÚle Serenity/JS pour vous aider à démarrer avec les tests d'acceptation de vos applications web en utilisant les derniÚres versions de WebdriverIO, Cucumber et Serenity/JS.
-
Frameworks
- WebdriverIO (v8)
- Cucumber (v9)
- Serenity/JS (v3)
- Reporting Serenity BDD
-
Fonctionnalités
- Screenplay Pattern
- Captures d'écran automatiques en cas d'échec de test, intégrées dans les rapports
- Configuration d'Intégration Continue (CI) utilisant GitHub Actions
- Rapports de démonstration Serenity BDD publiés sur GitHub Pages
- TypeScript
- ESLint
Muralijc/wdio-headspin-boilerplateâ
Projet de base pour exécuter des tests WebdriverIO dans le cloud Headspin (https://www.headspin.io/) en utilisant les fonctionnalités Cucumber et le modÚle de page objects.
-
Frameworks
- WebdriverIO (v8)
- Cucumber (v8)
-
Fonctionnalités
- Intégration cloud avec Headspin
- Prend en charge le modĂšle Page Object
- Contient des scénarios échantillons écrits dans un style BDD déclaratif
- Rapports html cucumber intégrés
Projets de base v7
webdriverio/appium-boilerplateâ
Projet de base pour exécuter des tests Appium avec WebdriverIO pour:
- Applications natives iOS/Android
- Applications hybrides iOS/Android
- Navigateurs Chrome Android et Safari iOS
Ce projet de base comprend les éléments suivants:
- Framework: Mocha
- Fonctionnalités:
- Configurations pour:
- Applications iOS et Android
- Navigateurs iOS et Android
- Helpers pour:
- WebView
- Gestes
- Alertes natives
- Pickers
- Exemples de tests pour:
- WebView
- Connexion
- Formulaires
- Swipe
- Navigateurs
- Configurations pour:
serhatbolsu/webdriverio-mocha-uiautomation-boilerâ
Tests ATDD WEB avec Mocha, WebdriverIO v6 avec PageObject
- Frameworks
- WebdriverIO (v7)
- Mocha
- Fonctionnalités
- ModĂšle Page Object
- Intégration Sauce Labs avec Sauce Service
- Rapport Allure
- Capture automatique d'écrans pour les tests en échec
- Exemple CircleCI
- ESLint
WarleyGabriel/demo-webdriverio-mochaâ
Projet de base pour exécuter des tests E2E avec Mocha.
- Frameworks:
- WebdriverIO (v7)
- Mocha
- Fonctionnalités:
- TypeScript
- Expect-webdriverio
- Tests de régression visuelle
- ModĂšle Page Object
- Commit lint et Commitizen
- ESlint
- Prettier
- Husky
- Exemple d'actions Github
- Rapport Allure (captures d'écran en cas d'échec)
17thSep/WebdriverIO_Masterâ
Projet de base pour exécuter des tests WebdriverIO v7 pour ce qui suit:
Scripts WDIO 7 avec TypeScript dans le framework Cucumber Scripts WDIO 7 avec TypeScript dans le framework Mocha Exécuter le script WDIO 7 dans Docker Journaux réseau
Projet de base pour:
- Capturer les journaux réseau
- Capturer tous les appels GET/POST ou une API REST spécifique
- VĂ©rifier les paramĂštres de requĂȘte
- Vérifier les paramÚtres de réponse
- Stocker toutes les réponses dans un fichier séparé
Arjun-Ar91/Wdio7-appium-cucumberâ
Projet de base pour exécuter des tests appium pour les applications natives et le navigateur mobile utilisant cucumber v7 et wdio v7 avec le modÚle de page object.
-
Frameworks
- WebdriverIO v7
- Cucumber v7
- Appium
-
Fonctionnalités
- Applications natives Android et iOS
- Navigateur Chrome Android
- Navigateur Safari iOS
- ModĂšle Page Object
- Contient des scénarios de test échantillons dans cucumber
- Intégré avec plusieurs rapports html cucumber
praveendvd/webdriverIODockerBoilerplate/â
Ceci est un projet modÚle pour vous aider à montrer comment vous pouvez exécuter des tests webdriverio à partir d'applications Web en utilisant les derniÚres versions de WebdriverIO et du framework Cucumber. Ce projet vise à servir d'image de base que vous pouvez utiliser pour comprendre comment exécuter des tests WebdriverIO dans docker
Ce projet comprend:
- DockerFile
- Projet cucumber
En savoir plus: Medium Blog
praveendvd/WebdriverIO_electronAppAutomation_boilerplate/â
Ceci est un projet modÚle pour vous aider à montrer comment vous pouvez exécuter des tests electronJS en utilisant WebdriverIO. Ce projet vise à servir d'image de base que vous pouvez utiliser pour comprendre comment exécuter des tests WebdriverIO electronJS.
Ce projet comprend:
- Application electronjs échantillon
- Scripts de test cucumber échantillons
En savoir plus: Medium Blog
praveendvd/webdriverIO_winappdriver_boilerplate/â
Ceci est un projet modÚle pour vous aider à montrer comment vous pouvez automatiser une application Windows en utilisant winappdriver et WebdriverIO. Ce projet vise à servir d'image de base que vous pouvez utiliser pour comprendre comment exécuter des tests windappdriver et WebdriverIO.
En savoir plus: Medium Blog
praveendvd/appium-chromedriver-multiremote-wdio-boilerplate/â
Ceci est un projet modÚle pour vous aider à montrer comment vous pouvez exécuter la capacité multiremote de webdriverio avec les derniers WebdriverIO et le framework Jasmine. Ce projet vise à servir d'image de base que vous pouvez utiliser pour comprendre comment exécuter des tests WebdriverIO dans docker
Ce projet utilise:
- chromedriver
- jasmine
- appium
webdriverio-roku-appium-boilerplateâ
Projet modÚle pour exécuter des tests appium sur des appareils Roku réels en utilisant mocha avec le modÚle de page object.
-
Frameworks
- WebdriverIO Async v7
- Appium 2.0
- Mocha v7
- Rapports Allure
-
Fonctionnalités
- ModĂšle Page Object
- Typescript
- Capture d'écran en cas d'échec
- Tests d'exemple utilisant une chaßne Roku échantillon
krishnapollu/wdio-cucumber-pocâ
Projet PoC pour les tests Cucumber Multiremote E2E ainsi que les tests Mocha pilotés par les données
-
Framework:
- Cucumber (v8)
- WebdriverIO (v8)
- Mocha (v8)
-
Fonctionnalités:
- Tests E2E basés sur Cucumber
- Tests pilotés par les données basés sur Mocha
- Tests Web uniquement - en local et sur des plateformes cloud
- Tests mobiles uniquement - émulateurs locaux et cloud à distance (ou appareils)
- Tests Web + Mobile - Multiremote - plateformes locales et cloud
- Plusieurs rapports intégrés, y compris Allure
- Données de test (JSON / XLSX) gérées globalement afin d'écrire les données (créées à la volée) dans un fichier aprÚs l'exécution du test
- Workflow Github pour exécuter le test et télécharger le rapport Allure
Rondleysg/wdio-multiremote-appium-chromedriver-boilerplateâ
Ceci est un projet de base pour aider à montrer comment exécuter webdriverio multi-remote en utilisant appium et le service chromedriver avec le dernier WebdriverIO.
-
Frameworks
- WebdriverIO (v9)
- Appium (v2)
- Mocha
-
Fonctionnalités
- ModĂšle Page Object
- Typescript
- Tests Web + Mobile - Multiremote
- Applications natives Android et iOS
- Appium
- Chromedriver
- ESLint
- Exemples de tests pour se connecter à http://the-internet.herokuapp.com et à l'application de démonstration native WebdriverIO