Aller au contenu principal

WebdriverIO

Framework de test d'automatisation de navigateur et mobile de nouvelle génération pour Node.js

Sponsorisé par
🌎

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.

Configuration facile pour les tests de composants web avec :

Vue.jsNuxtSveltePreactSolidJSLitStencil

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.

Intégration aux outils de développement tels que :

Chrome DevToolsGoogle LighthouseAxe Accessibility Engine

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)

Qui utilise WebdriverIO ?

  • Google
  • Netflix
  • Microsoft
  • Mozilla
  • Buoyant
  • SAP
  • Salesforce
  • Hilton
  • Charles Schwab
  • JW Player
  • BBVA
  • GoPro
  • Algolia
  • Financial Times
  • Zendesk
  • 1&1
  • Avira
  • Deloitte
  • Rabobank
  • Bedrock Streaming

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!

Welcome! How can I help?

WebdriverIO AI Copilot