Framework do automatyzacji testów przeglądarek i urządzeń mobilnych nowej generacji dla Node.js
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.
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.
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)
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!