Фреймворк нового поколения для автоматизации тестирования браузеров и мобильных устройств на 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.
Начните работу с 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` и другие.
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)
Открытый исходный код и открытое управление
Мы являемся проектом с открытым исходным кодом с твердой приверженностью прозрачности и общественному управлению. Мы являемся частью OpenJS Foundation, который входит в состав Linux Foundation. Проект полностью управляется добровольцами и финансируется заинтересованными компаниями, которые хотят видеть успех проекта. Команда проекта благодарна за щедрое спонсорство этих компаний.
💎 Премиальные спонсоры
🥇 Золотые спонсоры
Если вы используете WebdriverIO в своей организации, пожалуйста, рассмотрите возможность поддержки проекта став спонсором. Это поможет нам поддерживать проект и развивать его.
Мы хотели бы выразить искреннюю благодарность всем участникам, которые помогли сделать WebdriverIO тем мощным инструментом, которым он является сегодня. Ваша самоотверженность и усилия действительно ценятся!