Aller au contenu principal

WebdriverIO

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

Sponsorisé parBrowserStack
🌎

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.

Créer un projet WebdriverIO pour automatiser les applications MacOS

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

BrowserStack

🥇 Sponsors Or

JetifyLambdatest

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!

christian-bromann's avatar
mgrybyk's avatar
erwinheitzman's avatar
wswebcreation's avatar
WillBrock's avatar
greenkeeper[bot]'s avatar
klamping's avatar
SCG82's avatar
BorisOsipov's avatar
tamil777selvan's avatar
fijijavis's avatar
abjerstedt's avatar
praveendvd's avatar
harsha509's avatar
andriilazebnyi's avatar
ccharnkij's avatar
jan-molak's avatar
nextlevelbeard's avatar
lacell75's avatar
dprevost-LMI's avatar
jlipps's avatar
sriteja777's avatar
baruchvlz's avatar
ablok's avatar
CrispusDH's avatar
alcpereira's avatar
mato533's avatar
Delta456's avatar
sauravdas1997's avatar
Ankit098's avatar
udarrr's avatar
pako88's avatar
jochen-testingbot's avatar
Marketionist's avatar
unickq's avatar
aha-oretama's avatar
StephenABoyd's avatar
07souravkunda's avatar
RossVertizan's avatar
Rondleysg's avatar
pjcalvo's avatar
lukyth's avatar
osmolyar's avatar
suniljaiswal01's avatar
amarnathk1547's avatar
SrinivasanTarget's avatar
seanpoulter's avatar
martomo's avatar
gavvvr's avatar
Badisi's avatar
hieuxlu's avatar
amiya-pattnaik's avatar
epszaw's avatar
tech-dm-klymenko's avatar
jayrepo's avatar
jrobinson01's avatar
HananArgov's avatar
sebastian-sauer's avatar
naddison's avatar
Nyaran's avatar
esaari's avatar
damencho's avatar
tzurp's avatar
Zearin's avatar
vgrigoruk's avatar
alfonso-presa's avatar
amaanbs's avatar
L0tso's avatar
Fabianopb's avatar
jemishgopani's avatar
kamal-kaur04's avatar
nagpalkaran95's avatar
rendmath's avatar
PippoRaimondi's avatar
KuznetsovRoman's avatar
xxshubhamxx's avatar
tadashi0713's avatar
AutomationReddy's avatar
delabiejochen's avatar
valfirst's avatar
goosewobbler's avatar
iamkenos's avatar
jayandran-Sampath's avatar
joshskumar's avatar
dragosMC91's avatar
martinfrancois's avatar
smarkows's avatar
sangcnguyen's avatar
samuelfreiberg's avatar
rwaskiewicz's avatar
rounak610's avatar
nicholasbailey's avatar
navin772's avatar
johnp's avatar
larryg01's avatar
DudaGod's avatar
abdatta's avatar

Welcome! How can I help?

WebdriverIO AI Copilot