Перейти к основному содержанию

WebdriverIO

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

При поддержке
🌎

Тестирование в реальных средах

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 или выполнение глубоких запросов селекторов с вложенными деревьями теневого DOM. Поскольку взаимодействия происходят через стандартизированный протокол автоматизации, гарантируется, что они ведут себя нативно и не эмулируются с помощью JavaScript.

Простая настройка для тестирования веб-компонентов с:

Vue.jsNuxtSveltePreactSolidJSLitStencil

Начните работу с WebdriverIO за считанные секунды

Тестовый исполнитель WebdriverIO поставляется с интерфейсом командной строки, который предоставляет мощную утилиту конфигурации и помогает создать тестовую среду менее чем за минуту. Он позволяет выбирать из доступных интеграций с тестовыми фреймворками и легко добавлять все поддерживаемые плагины репортеров и сервисов!

С помощью всего одной простой команды вы можете настроить полный набор тестов:


$ npm init wdio@latest ./

Начните узнавать больше о WebdriverIO и о том, как начать работу на YouTube.

Смотрите доклады о 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. Проект полностью управляется добровольцами и финансируется заинтересованными компаниями, которые хотят видеть успех проекта. Команда проекта благодарна за щедрое спонсорство этих компаний.

💎 Премиальные спонсоры

🥇 Золотые спонсоры

Если вы используете WebdriverIO в своей организации, пожалуйста, рассмотрите возможность поддержки проекта став спонсором. Это поможет нам поддерживать проект и развивать его.

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

Welcome! How can I help?

WebdriverIO AI Copilot