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