메인 컨텐츠로 건너뛰기

WebdriverIO

Node.js를 위한 차세대 브라우저 및 모바일 자동화 테스트 프레임워크

후원
🌎

실제 환경에서 테스트

WebdriverIO를 사용하면 사용자가 사용하는 실제 브라우저나 모바일 기기에서 테스트할 수 있습니다.

🔩

다재다능하고 기능이 풍부함

브라우저에서 전체 e2e 또는 유닛 및 컴포넌트 테스트를 위해 WebdriverIO를 사용하세요.

💤

자동 대기

WebdriverIO는 요소와 상호작용하기 전에 자동으로 요소가 나타날 때까지 기다립니다.

📒

웹 표준 기반

WebDriverWebDriver Bidi를 통한 자동화로 크로스 브라우저 지원.

📱

네이티브 모바일 지원

Appium를 통해 실제 모바일 기기, 스마트 TV 또는 기타 IoT 기기에서 WebdriverIO를 실행하세요.

🫂

헌신적인 커뮤니티

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 테스트러너는 강력한 구성 유틸리티를 제공하는 명령줄 인터페이스를 제공하며 1분 이내에 테스트 설정을 생성할 수 있도록 도와줍니다. 사용 가능한 테스트 프레임워크 통합을 선택할 수 있고 지원되는 모든 리포터 및 서비스 플러그인을 쉽게 추가할 수 있습니다!

단 하나의 간단한 명령으로 완전한 테스트 스위트를 설정할 수 있습니다:


$ npm init wdio@latest ./

WebdriverIO에 대해 더 알아보고 YouTube에서에서 시작하는 방법을 배워보세요.

WebdriverIO에 관한 강연 시청하기

WebdriverIO 주변의 커뮤니티는 다양한 사용자 그룹이나 컨퍼런스에서 WebdriverIO를 사용한 자동화 테스트에 관한 특정 주제에 대해 적극적으로 발표하고 있습니다. Open Quality Conference에서 Julia Pottinger가 발표한 WebdriverIO의 내가 좋아하는 기능들의 이 강연을 확인해보세요.

Klamping, Seventeenth Sep 또는 Automation Bro와 같은 커뮤니티 멤버들의 유용한 튜토리얼이 있는 많은 YouTube 채널도 있습니다.

Google Lighthouse 통합

WebdriverIO는 WebDriver 프로토콜을 기반으로 자동화를 실행할 뿐만 아니라, 네이티브 브라우저 API를 활용하여 Chrome DevToolsGoogle 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

오픈 소스 및 오픈 거버넌스

우리는 투명성과 커뮤니티 거버넌스에 대한 강한 의지를 가진 오픈 소스 프로젝트입니다. 우리는 Linux Foundation의 일부인 OpenJS Foundation의 일원입니다. 이 프로젝트는 전적으로 자원 봉사자가 운영하며 프로젝트의 성공을 보고 싶어하는 투자 기업들이 자금을 지원합니다. 프로젝트 팀은 이러한 기업들의 관대한 후원에 감사드립니다.

💎 프리미엄 스폰서

🥇 골드 스폰서

조직 내에서 WebdriverIO를 사용하고 있다면, 스폰서 되기를 통해 프로젝트를 지원해 주세요. 프로젝트를 계속 운영하고 발전시키는 데 도움이 될 것입니다.

WebdriverIO을(를) 오늘날과 같은 강력한 도구로 만드는 데 도움을 준 모든 기여자분들께 진심으로 감사드립니다. 여러분의 헌신과 노력은 정말 감사합니다!

Welcome! How can I help?

WebdriverIO AI Copilot