Перейти до основного вмісту

WebdriverIO

Фреймворк нового покоління для автоматизації тестування браузерів та мобільних пристроїв на Node.js

За підтримкиBrowserStack
🌎

Тестування в реальних середовищах

WebdriverIO дозволяє тестувати в актуальних браузерах або мобільних пристроях, якими користуються ваші користувачі.

🔩

Універсальний та багатофункціональний

Використовуйте WebdriverIO для повного e2e або модульного та компонентного тестування в браузері.

💤

Автоматичне очікування

WebdriverIO автоматично чекає на появу елементів перед взаємодією з ними.

📒

Базується на веб-стандартах

Підтримка крос-браузерності через автоматизацію за допомогою WebDriver та WebDriver Bidi.

📱

Нативна підтримка мобільних пристроїв

Запускайте WebdriverIO на реальних мобільних пристроях, смарт-телевізорах або інших IoT-пристроях за допомогою Appium.

🫂

Віддана спільнота

Підтримуємо канал підтримки з понад 8 тисячами учасників та багатою екосистемою плагінів, які підтримуються спільнотою.


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

E2E та модульне/компонентне тестування в реальному браузері!

WebdriverIO - це універсальний фреймворк для розробки веб-додатків. Він дозволяє запускати невеликі та легкі компонентні тести, а також сценарії e2e тестів у браузері чи на мобільному пристрої. Це гарантує тестування у середовищі, яке використовують ваші користувачі.

Він має розумні стратегії селекторів, які спрощують взаємодію, наприклад, з React components або виконання глибоких запитів селекторів із вкладеними деревами shadow DOM. Оскільки взаємодії відбуваються через стандартизований протокол автоматизації, гарантується, що вони поводяться нативно і не емулюються JavaScript.

Легке налаштування для тестування веб-компонентів із:

Vue.jsNuxtSveltePreactSolidJSLitStencil

Почніть роботу з WebdriverIO за секунди

Тестовий раннер WebdriverIO поставляється з інтерфейсом командного рядка, який надає потужну утиліту налаштування та допомагає створити тестове середовище менш ніж за хвилину. Він дозволяє вибирати з доступних інтеграцій фреймворків тестування та легко додавати всі підтримувані плагіни репортерів та сервісів!

За допомогою лише однієї простої команди ви можете налаштувати повний набір тестів:


$ npm init wdio@latest ./

Почніть дізнаватися більше про WebdriverIO та як розпочати роботу на YouTube.

Створення проекту WebdriverIO для автоматизації додатків MacOS

Дивіться доповіді про WebdriverIO

Спільнота навколо WebdriverIO активно виступає на різних групах користувачів або конференціях з конкретних тем автоматизованого тестування з WebdriverIO. Перегляньте цю доповідь на Мої улюблені функції WebdriverIO від Julia Pottinger на Open Quality Conference.

Також є багато YouTube-каналів з корисними навчальними матеріалами від членів спільноти, таких як Klamping, Seventeenth Sep або Automation Bro.

Інтеграція з Google Lighthouse

WebdriverIO не лише запускає автоматизацію на основі протоколу WebDriver, але також використовує нативні API браузерів для забезпечення інтеграції з популярними інструментами розробника, такими як Chrome DevTools або Google Lighthouse. З плагіном @wdio/lighthouse-service ви маєте доступ до команд для перевірки, чи є ваш додаток дійсним PWA-додатком, а також до команд для збору метрик продуктивності фронтенду, таких як `speedIndex` та інших.

Інтеграція з інструментами розробника, такими як:

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)

Хто використовує 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

Відкритий код та відкрите управління

Ми є проєктом з відкритим кодом з сильною прихильністю до прозорості та спільного управління. Ми є частиною OpenJS Foundation, яка є частиною Linux Foundation. Проєкт повністю управляється волонтерами та фінансується зацікавленими компаніями, які хочуть бачити успіх проєкту. Команда проєкту вдячна за щедру спонсорську підтримку цих компаній.

💎 Преміум-спонсори

BrowserStack

🥇 Золоті спонсори

JetifyLambdatest

Якщо ви використовуєте WebdriverIO у своїй організації, будь ласка, розгляньте можливість підтримки проєкту ставши спонсором. Це допоможе нам підтримувати роботу та розвиток проєкту.

Ми хотіли б висловити нашу щиру подяку всім учасникам, які допомогли зробити WebdriverIO тим потужним інструментом, яким він є сьогодні. Ваша відданість та зусилля дійсно цінуються!

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
harsha509's avatar
andriilazebnyi's avatar
ccharnkij's avatar
jan-molak's avatar
nextlevelbeard's avatar
lacell75's avatar
jlipps's avatar
sriteja777's avatar
dprevost-LMI's avatar
baruchvlz's avatar
ablok's avatar
CrispusDH's avatar
alcpereira's avatar
Delta456's avatar
sauravdas1997's avatar
Ankit098'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
DudaGod's avatar
johnp's avatar
kyrylodolynskyi's avatar
abdatta's avatar
larryg01's avatar
Nyaran's avatar
M-Hammad-Faisal's avatar
samuelfreiberg's avatar
rwaskiewicz's avatar
navin772's avatar
rounak610's avatar
nicholasbailey's avatar
jonn-set's avatar
Joozty's avatar

Welcome! How can I help?

WebdriverIO AI Copilot