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

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 или выполнение глубоких запросов селекторов с вложенными деревьями теневого 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
andriilazebnyi's avatar
harsha509's avatar
ccharnkij's avatar
jan-molak's avatar
nextlevelbeard's avatar
lacell75's avatar
jlipps's avatar
sriteja777's avatar
baruchvlz's avatar
ablok's avatar
CrispusDH's avatar
alcpereira's avatar
Delta456's avatar
sauravdas1997's avatar
Ankit098's avatar
dprevost-LMI'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
samuelfreiberg's avatar
rwaskiewicz's avatar
nicholasbailey's avatar
navin772's avatar
M-Hammad-Faisal's avatar
Nyaran's avatar
abdatta's avatar
DudaGod's avatar
kyrylodolynskyi's avatar
larryg01's avatar
johnp's avatar
lararojasmr's avatar
lthurr's avatar
Kignuf's avatar

Welcome! How can I help?

WebdriverIO AI Copilot