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
🌎

Testowanie 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żyj WebdriverIO do pełnego testowania end-to-end lub testowania jednostkowego i komponentowego 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, telewizorach Smart TV lub innych urządzeniach IoT za pomocą Appium.

🫂

Zaangażowana społeczność

Prowadzenie support channel 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 oraz jednostkowe / komponentowe w prawdziwej przeglądarce!

WebdriverIO to framework wszystko w jednym do tworzenia 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, że przeprowadzisz testy w środowisku używanym przez Twoich użytkowników.

Zawiera inteligentne strategie selektorów, które upraszczają interakcję np. z React components lub uruchamianie głębokich zapytań selektorów z zagnieżdżonymi drzewami shadow DOM. Ponieważ interakcje odbywają się poprzez znormalizowany protokół automatyzacji, gwarantuje to, że zachowują się one natywnie i nie są po prostu emulowane w JavaScript.

Łatwa konfiguracja do testowania komponentów webowych z:

Vue.jsNuxtSveltePreactSolidJSLitStencil

Rozpocznij pracę z WebdriverIO w kilka sekund

Runner testów WebdriverIO zawiera interfejs wiersza poleceń, który zapewnia potężne narzędzie konfiguracyjne i pomaga stworzyć środowisko testowe w mniej niż minutę. Pozwala wybrać spośród dostępnych integracji z frameworkami testowymi i łatwo dodać wszystkie obsługiwane wtyczki reporterów i usług!

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


$ npm init wdio@latest ./

Zacznij dowiadywać się więcej o WebdriverIO i jak rozpocząć pracę na YouTube.

Oglądaj prezentacje o WebdriverIO

Społeczność WebdriverIO aktywnie wypowiada się na różnych grupach użytkowników lub konferencjach na temat automatyzacji testów z WebdriverIO. Sprawdź tę rozmowę na Moje ulubione funkcje WebdriverIO autorstwa Julia Pottinger na Open Quality Conference.

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

Integracja z Google Lighthouse

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

Integracja z narzędziami developerskimi 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 and Open Governed

Jesteśmy projektem open source z silnym zobowiązaniem do przejrzystości i zarządzania przez społeczność. Jesteśmy częścią OpenJS Foundation, która jest częścią Linux Foundation. Projekt jest całkowicie 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.

💎 Premium Sponsors

🥇 Gold Sponsors

Jeśli używasz WebdriverIO w swojej organizacji, rozważ wsparcie projektu poprzez becoming a sponsor. Pomoże nam to utrzymać projekt w rozwoju i ewolucji.

Welcome! How can I help?

WebdriverIO AI Copilot