Framework de test d'automatisation de navigateur et mobile de nouvelle génération pour Node.js
Test dans des environnements réels
WebdriverIO vous permet de tester dans des navigateurs ou des appareils mobiles réels utilisés par vos utilisateurs.
Polyvalent et riche en fonctionnalités
Utilisez WebdriverIO pour des tests e2e complets ou des tests unitaires et de composants dans le navigateur.
Attente automatique
WebdriverIO attend automatiquement que les éléments apparaissent avant d'interagir avec eux.
Basé sur les standards Web
Prise en charge multi-navigateurs via l'automatisation par WebDriver et WebDriver Bidi.
Support mobile natif
Exécutez WebdriverIO sur des appareils mobiles réels, des téléviseurs intelligents ou d'autres appareils IoT via Appium.
Communauté engagée
Gestion d'un canal de support avec plus de 8 000 membres et un riche écosystème de plugins maintenus par la communauté.
import { $, expect } from '@wdio/globals'
import { render } from '@testing-library/vue'
import HelloWorld from '../../src/components/HelloWorld.vue'
describe('Component Testing', () => {
it('increments value on click', async () => {
const { getByText } = render(HelloWorld)
const btn = getByText('count is 0')
// transform into WebdriverIO element
const button = await $(btn)
// interact with element like a real user
await button.click()
await button.click()
await expect(button).toMatchInlineSnapshot(
"count is 2"
)
})
})
Tests E2E et unitaires / de composants dans un navigateur réel !
WebdriverIO est un framework tout-en-un pour le développement de votre application web. Il vous permet d'exécuter des tests de composants légers ainsi que des scénarios de test e2e dans le navigateur ou sur un appareil mobile. Cela garantit que vous effectuez les tests dans un environnement utilisé par vos utilisateurs.
Il est livré avec des stratégies de sélection intelligentes qui simplifient l'interaction avec, par exemple, les React components ou l'exécution de requêtes de sélection profondes avec des arbres DOM shadow imbriqués. Comme les interactions se produisent via un protocole d'automatisation standardisé, il est garanti qu'elles se comportent de manière native et ne sont pas simplement émulées par JavaScript.
Démarrez avec WebdriverIO en quelques secondes
Le testrunner WebdriverIO est livré avec une interface en ligne de commande qui fournit un utilitaire de configuration puissant et vous aide à créer votre configuration de test en moins d'une minute. Il vous permet de choisir parmi les intégrations de frameworks de test disponibles et vous permet facilement d'ajouter tous les plugins de reporters et de services pris en charge !
Avec une simple commande, vous pouvez configurer une suite de tests complète :
$ npm init wdio@latest ./
Commencez à en apprendre davantage sur WebdriverIO et comment démarrer sur YouTube.
Regardez des présentations sur WebdriverIO
La communauté autour de WebdriverIO s'exprime activement dans divers groupes d'utilisateurs ou conférences sur des sujets spécifiques liés aux tests automatisés avec WebdriverIO. Découvrez cette présentation sur Mes fonctionnalités préférées de WebdriverIO par Julia Pottinger à Open Quality Conference.
Il existe également de nombreuses chaînes YouTube avec des tutoriels utiles créés par des membres de la communauté tels que Klamping, Seventeenth Sep ou Automation Bro.
Intégration Google Lighthouse
WebdriverIO n'exécute pas seulement l'automatisation basée sur le protocole WebDriver, il exploite également les API natives du navigateur pour permettre des intégrations avec des outils de développement populaires tels que Chrome DevTools ou Google Lighthouse. Avec le plugin @wdio/lighthouse-service
, vous avez accès à des commandes pour valider si votre application est une application PWA valide ainsi qu'à des commandes pour capturer des métriques de performance frontend comme `speedIndex` et autres.
await browser.emulate('device', 'iPhone X')
await browser.enablePerformanceAudits({
networkThrottling: 'Good 3G',
cacheEnabled: true,
formFactor: 'mobile'
})
// open application under test
await browser.url('https://localhost:3000')
expect(await browser.getMetrics().firstMeaningfulPaint)
.toBeBelow(2500)
const pwaCheckResult = await browser.checkPWA()
expect(pwaCheckResult.passed).toBe(true)
Open Source et gouvernance ouverte
Nous sommes un projet open source avec un fort engagement envers la transparence et la gouvernance communautaire. Nous faisons partie de la OpenJS Foundation qui fait partie de la Linux Foundation. Le projet est entièrement géré par des bénévoles et financé par des entreprises investies qui souhaitent voir le projet réussir. L'équipe du projet est reconnaissante pour le généreux parrainage de ces entreprises.
💎 Sponsors Premium
🥇 Sponsors Or
Si vous utilisez WebdriverIO au sein de votre organisation, veuillez envisager de soutenir le projet en devenant sponsor. Cela nous aidera à maintenir le projet en fonctionnement et à le faire évoluer.
Nous tenons à remercier chaleureusement tous les contributeurs qui ont aidé à faire de WebdriverIO l'outil puissant qu'il est aujourd'hui. Votre dévouement et vos efforts sont vraiment appréciés!