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

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 тим потужним інструментом, яким він є сьогодні. Ваша відданість та зусилля дійсно цінуються!

Welcome! How can I help?

WebdriverIO AI Copilot