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