Przejdź do głównej treści

WebdriverIO

Framework do automatyzacji testów przeglądarek i urządzeń mobilnych nowej generacji dla Node.js

Sponsorowane przezBrowserStack
🌎

Testuj w rzeczywistych środowiskach

WebdriverIO umożliwia testowanie w rzeczywistych przeglądarkach lub urządzeniach mobilnych używanych przez Twoich użytkowników.

🔩

Wszechstronny i bogaty w funkcje

Używaj WebdriverIO do pełnego testowania e2e lub testów jednostkowych i komponentów w przeglądarce.

💤

Automatyczne oczekiwanie

WebdriverIO automatycznie czeka na pojawienie się elementów przed interakcją z nimi.

📒

Oparty na standardach webowych

Wsparcie dla wielu przeglądarek poprzez automatyzację za pomocą WebDriver i WebDriver Bidi.

📱

Natywne wsparcie dla urządzeń mobilnych

Uruchamiaj WebdriverIO na rzeczywistych urządzeniach mobilnych, smart TV lub innych urządzeniach IoT za pomocą Appium.

🫂

Zaangażowana społeczność

Prowadzenie kanał wsparcia z ponad 8 tysiącami członków i bogatym ekosystemem wtyczek utrzymywanych przez społeczność.


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"
)
})
})

Testowanie E2E i jednostkowe / komponentowe w rzeczywistej przeglądarce!

WebdriverIO to framework wszystko w jednym do rozwoju aplikacji webowych. Umożliwia uruchamianie małych i lekkich testów komponentów, a także scenariuszy testowych e2e w przeglądarce lub na urządzeniu mobilnym. Gwarantuje to testowanie w środowisku używanym przez Twoich użytkowników.

Zawiera inteligentne strategie selektorów, które upraszczają interakcję np. z React components lub wykonywanie głębokich zapytań selektorowych z zagnieżdżonymi drzewami shadow DOM. Ponieważ interakcje odbywają się za pośrednictwem standardowego protokołu automatyzacji, gwarantuje to, że zachowują się natywnie i nie są jedynie emulowane przez JavaScript.

Łatwa konfiguracja testowania komponentów webowych z:

Vue.jsNuxtSveltePreactSolidJSLitStencil

Rozpocznij pracę z WebdriverIO w kilka sekund

Testrunner WebdriverIO posiada interfejs wiersza poleceń, który zapewnia potężne narzędzie konfiguracyjne i pomaga stworzyć konfigurację testów w mniej niż minutę. Pozwala wybrać spośród dostępnych integracji frameworków testowych i łatwo dodać wszystkie obsługiwane wtyczki raportów i usług!

Za pomocą jednego prostego polecenia możesz skonfigurować kompletny zestaw testów:


$ npm init wdio@latest ./

Zacznij uczyć się więcej o WebdriverIO i jak zacząć na YouTube.

Utwórz projekt WebdriverIO do automatyzacji aplikacji MacOS

Oglądaj prezentacje o WebdriverIO

Społeczność wokół WebdriverIO aktywnie wypowiada się na różnych grupach użytkowników lub konferencjach na temat konkretnych zagadnień związanych z automatycznym testowaniem z WebdriverIO. Sprawdź tę prezentację na Moje ulubione funkcje WebdriverIO autorstwa Julia Pottinger na Open Quality Conference.

Istnieje również wiele kanałów YouTube z przydatnymi tutorialami od członków społeczności, takich jak Klamping, Seventeenth Sep czy Automation Bro.

Integracja z Google Lighthouse

WebdriverIO nie tylko uruchamia automatyzację opartą na protokole WebDriver, ale również wykorzystuje natywne API przeglądarek, aby umożliwić integrację z popularnymi narzędziami programistycznymi, takimi jak Chrome DevTools lub Google Lighthouse. Dzięki wtyczce @wdio/lighthouse-service masz dostęp do poleceń sprawdzających, czy Twoja aplikacja jest ważną aplikacją PWA, a także do poleceń przechwytujących metryki wydajności frontendu, takie jak `speedIndex` i inne.

Integracja z narzędziami programistycznymi takimi jak:

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)

Kto używa 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 i zarządzany przez społeczność

Jesteśmy projektem open source z silnym zaangażowaniem w przejrzystość i zarządzanie przez społeczność. Jesteśmy częścią OpenJS Foundation, która jest częścią Linux Foundation. Projekt jest w całości prowadzony przez wolontariuszy i finansowany przez zaangażowane firmy, które chcą, aby projekt odniósł sukces. Zespół projektu jest wdzięczny za hojne sponsorowanie przez te firmy.

💎 Sponsorzy Premium

BrowserStack

🥇 Złoci Sponsorzy

JetifyLambdatest

Jeśli używasz WebdriverIO w swojej organizacji, rozważ wsparcie projektu poprzez zostanie sponsorem. Pomoże nam to utrzymać projekt w działaniu i rozwoju.

Chcielibyśmy wyrazić nasze serdeczne podziękowania wszystkim współtwórcom, którzy pomogli uczynić WebdriverIO potężnym narzędziem, jakim jest dzisiaj. Wasze zaangażowanie i wysiłek są naprawdę doceniane!

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
andriilazebnyi's avatar
harsha509's avatar
ccharnkij's avatar
jan-molak's avatar
nextlevelbeard's avatar
lacell75's avatar
jlipps's avatar
sriteja777's avatar
baruchvlz's avatar
ablok's avatar
CrispusDH's avatar
alcpereira's avatar
Delta456's avatar
sauravdas1997's avatar
Ankit098's avatar
dprevost-LMI's avatar
udarrr's avatar
jochen-testingbot's avatar
pako88'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
mato533's avatar
suniljaiswal01's avatar
amarnathk1547's avatar
SrinivasanTarget's avatar
gavvvr's avatar
seanpoulter's avatar
martomo's avatar
hieuxlu's avatar
Badisi's avatar
epszaw's avatar
jayrepo's avatar
tech-dm-klymenko's avatar
jrobinson01's avatar
HananArgov's avatar
sebastian-sauer's avatar
naddison's avatar
amiya-pattnaik's avatar
alfonso-presa's avatar
vgrigoruk's avatar
Zearin's avatar
tzurp's avatar
esaari'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
tadashi0713's avatar
AutomationReddy's avatar
martinfrancois's avatar
dragosMC91's avatar
joshskumar's avatar
jayandran-Sampath's avatar
iamkenos's avatar
valfirst's avatar
delabiejochen's avatar
sangcnguyen's avatar
samuelfreiberg's avatar
rwaskiewicz's avatar
nicholasbailey's avatar
navin772's avatar
M-Hammad-Faisal's avatar
Nyaran's avatar
abdatta's avatar
DudaGod's avatar
kyrylodolynskyi's avatar
larryg01's avatar
johnp's avatar
lararojasmr's avatar
lthurr's avatar
Kignuf's avatar

Welcome! How can I help?

WebdriverIO AI Copilot