Passer au contenu principal

WebdriverIO

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

Sponsored by  and  
🌎

Tester dans des environnements réels

WebdriverIO vous permet de tester sur des navigateurs ou des appareils mobiles utilisés par vos utilisateurs.

🔩

Polyvalent et riche en fonctionnalités

Utilisez WebdriverIO pour des tests complets d'e2e ou d'unité et de composants dans le navigateur.

💤

Attente automatique

WebdriverIO attend automatiquement que des éléments apparaissent avant d'interagir avec eux.

📒

Basé sur les standards du Web

Support du navigateur croisé via l'automatisation via WebDriver et WebDriver Bidi.

📱

Support mobile natif

Exécutez WebdriverIO sur des appareils mobiles réels, des télévisions intelligentes ou d'autres appareils IoT via Appium.

🫂

Communauté engagée

Exécuter un support channel avec plus de 8k membres et un riche écosystème de plugins gérés 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"
)
})
})

E2E et unité / tests de composants dans le navigateur réel!

WebdriverIO est un framework tout en un seul pour le développement de votre application Web. Il vous permet d'exécuter des tests de composants petits et légers ainsi que d'exécuter des scénarios de test e2e dans le navigateur ou sur un appareil mobile. Cela vous garantit de faire les tests dans un environnement utilisé par vos utilisateurs.

Il est livré avec des stratégies de sélecteurs intelligents qui simplifient l’interaction, par exemple avec React components ou avec des sélecteurs profonds avec des arborescences imbriqués DOM. Comme les interactions se produisent par le biais d'un protocole d'automatisation standardisé, il est garanti qu'ils se comportent nativement et pas seulement JavaScript émulé.

Configuration facile pour les tests de composants Web avec :

Vue.jsNuxtSveltePreactSolidJSLitStencil

Démarrez avec WebdriverIO en quelques secondes

The WebdriverIO testrunner comes with a command line interface that provides a powerful configuration utility and helps you to create your test setup in less than a minute. It lets you pick from available test framework integrations and easily allows to add all supported reporter and service plugins!

Avec une seule commande simple, vous pouvez configurer une suite de tests complète :


$ npm init wdio@latest ./

Commencez à en apprendre plus sur WebdriverIO et comment commencer sur Youtube.

Regardez les discussions à propos de WebdriverIO

La communauté autour de WebdriverIO parle activement de divers groupes d'utilisateurs ou conférences sur des sujets spécifiques concernant les tests automatisés avec WebdriverIO. Jetez un coup d'œil à cette conférence le Mes fonctionnalités préférées de WebdriverIO par Julia Pottinger à Open Quality Conference.

Il y a aussi de nombreuses chaînes YouTube avec des tutoriels utiles par des membres de la communauté tels que Klamping, Seventeenth Sep ou Automation Bro.

Intégration de Google Lighthouse

WebdriverIO n'exécute pas seulement l'automatisation basée sur le protocole WebDriver, il tire également parti des API natives du navigateur pour activer les intégrations aux outils de développement populaires tels que Chrome DevTools ou Google Lighthouse. Avec le plugin @wdio/lighthouse-service vous avez accès aux commandes pour valider si votre application est une application PWA valide ainsi qu'aux commandes pour capturer des métriques de performance du frontend telles que `speedIndex` et d'autres.

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

Chrome DevToolsGoogle LighthouseAxe Accessibility Engine

await browser.emulateDevice('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 and Open Governed

We are an open source project with a strong commitment to transparency and community governance. We are part of the OpenJS Foundation, which is a part of the Linux Foundation. The project is entirely run by volunteers and funded by invested companies that want to see the project succeed. The project team is grateful for the generous sponsorship of these companies.

💎 Premium Sponsors

🥇 Gold Sponsors

If you use WebdriverIO within your organization, please consider supporting the project by becoming a sponsor. It will help us to keep the project running and evolving.

Welcome! How can I help?

WebdriverIO AI Copilot