メインコンテンツにスキップ

WebdriverIO

Node.js向けの次世代ブラウザおよびモバイル自動化テストフレームワーク

スポンサーBrowserStack
🌎

実環境でのテスト

WebdriverIOは、実際のユーザーが使用するブラウザやモバイルデバイスでのテストを可能にします。

🔩

多目的で機能豊富

WebdriverIOをブラウザでのフルe2eテストやユニットおよびコンポーネントテストに使用してください。

💤

自動待機

WebdriverIOは要素と対話する前に、自動的に要素の表示を待機します。

📒

Web標準ベース

WebDriverWebDriver Bidiを通じたオートメーションによるクロスブラウザサポート。

📱

ネイティブモバイルサポート

Appiumを通じて実際のモバイルデバイス、スマートTV、その他のIoTデバイスでWebdriverIOを実行できます。

🫂

献身的なコミュニティ

8,000人以上のメンバーを持つサポートチャンネルと、コミュニティによって維持される豊富なプラグインエコシステムを運営しています。


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はWebアプリ開発のためのオールインワンフレームワークです。小さく軽量なコンポーネントテストの実行と、ブラウザやモバイルデバイスでのe2eテストシナリオの実行が可能です。これにより、ユーザーが使用する環境でのテストが保証されます。

例えばReact componentsとの対話を簡素化したり、ネストされたシャドウDOMツリーで深いセレクタクエリを実行したりするためのスマートなセレクタ戦略が付属しています。相互作用は標準化された自動化プロトコルを通じて行われるため、ネイティブな動作が保証され、JavaScriptでエミュレートされるだけではありません。

以下によるウェブコンポーネントテストの簡単なセットアップ:

Vue.jsNuxtSveltePreactSolidJSLitStencil

数秒でWebdriverIOをスタート

WebdriverIOテストランナーには、強力な構成ユーティリティを提供し、1分以内にテスト環境を作成するのに役立つコマンドラインインターフェイスが付属しています。利用可能なテストフレームワーク統合から選択し、サポートされているすべてのレポーターとサービスプラグインを簡単に追加できます!

たった一つのシンプルなコマンドで完全なテストスイートをセットアップできます:


$ npm init wdio@latest ./

WebdriverIOについてさらに学び、はじめ方をYouTubeでで知ることができます。

MacOSアプリを自動化するWebdriverIOプロジェクトを作成

WebdriverIOに関する講演を見る

WebdriverIOを取り巻くコミュニティは、WebdriverIOを使用した自動テストに関する特定のトピックについて、さまざまなユーザーグループやカンファレンスで積極的に発言しています。Open Quality ConferenceでのJulia PottingerによるWebdriverIOのお気に入り機能のこの講演をチェックしてください。

また、KlampingSeventeenth SepAutomation Broなどのコミュニティメンバーによる有用なチュートリアルを含む多くのYouTubeチャンネルもあります。

Google Lighthouse統合

WebdriverIOはWebDriverプロトコルに基づく自動化を実行するだけでなく、Chrome DevToolsGoogle Lighthouseなどの人気のある開発者ツールへの統合を可能にするネイティブブラウザAPIも活用しています。@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の一員です。プロジェクト は完全にボランティアによって運営され、プロジェクトの成功を望む投資企業によって資金提供されています。 プロジェクトチームはこれらの企業の寛大なスポンサーシップに感謝しています。

💎 プレミアムスポンサー

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
harsha509's avatar
andriilazebnyi'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
dprevost-LMI's avatar
Delta456's avatar
sauravdas1997's avatar
Ankit098'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