Przejdź do głównej treści

WebdriverIO

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

Sponsorowane przez
🌎

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.

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

🥇 Złoci Sponsorzy

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!

Welcome! How can I help?

WebdriverIO AI Copilot