REPLインターフェース
v4.5.0では、WebdriverIOはREPLインターフェースを導入しました。これにより、フレームワークAPIの学習だけでなく、テストのデバッグと検査も容易になります。複数の方法で使用できます。
まず、CLIコマンドとして使用できます。npm install -g @wdio/cliをインストールして、コマンドラインからWebDriverセッションを起動します。例:
wdio repl chrome
これにより、REPLインターフェースで制御できるChromeブラウザが開きます。セッションを開始するには、ポート4444でブラウザドライバが実行されていることを確認してください。Sauce Labs(またはその他のクラウドベンダー)アカウントをお持ちの場合は、コマンドラインでクラウド上のブラウザを直接実行することもできます。
wdio repl chrome -u $SAUCE_USERNAME -k $SAUCE_ACCESS_KEY
ドライバが異なるポート(例:9515)で実行されている場合は、コマンドライン引数`--port`またはエイリアス`-p`で指定できます。
wdio repl chrome -u $SAUCE_USERNAME -k $SAUCE_ACCESS_KEY -p 9515
REPLは、webdriverIO設定ファイルのcapabilityからも実行できます。Wdioは、capabilitiesオブジェクト、またはmultiremote capabilityリストまたはオブジェクトをサポートしています。
設定ファイルがcapabilitiesオブジェクトを使用する場合は、設定ファイルへのパスを渡すだけです。multiremote capabilityの場合は、位置引数を使用してリストまたはmultiremoteから使用するcapabilityを指定します。注:リストの場合は、0から始まるインデックスを使用します。
例
capability配列を使用したWebdriverIO
export const config = {
    // ...
    capabilities:[{
        browserName: 'chrome', // options: `chrome`, `edge`, `firefox`, `safari`, `chromium`
        browserVersion: '27.0', // browser version
        platformName: 'Windows 10' // OS platform
    }]
}
wdio repl "./path/to/wdio.config.js" 0 -p 9515
multiremote capabilityオブジェクトを使用したWebdriverIO
export const config = {
    // ...
    capabilities: {
        myChromeBrowser: {
            capabilities: {
                browserName: 'chrome'
            }
        },
        myFirefoxBrowser: {
            capabilities: {
                browserName: 'firefox'
            }
        }
    }
}
wdio repl "./path/to/wdio.config.js" "myChromeBrowser" -p 9515
または、Appiumを使用してローカルモバイルテストを実行する場合
- Android
- iOS
wdio repl android
wdio repl ios
これにより、接続されたデバイス/エミュレータ/シミュレータでChrome/Safariセッションが開きます。セッションを開始するには、ポート4444でAppiumが実行されていることを確認してください。
wdio repl './path/to/your_app.apk'
これにより、接続されたデバイス/エミュレータ/シミュレータでAppセッションが開きます。セッションを開始するには、ポート4444でAppiumが実行されていることを確認してください。
iOSデバイスのcapabilitiesは引数で渡すことができます。
- -v-- platformVersion: Android/iOSプラットフォームのバージョン
- -d-- deviceName: モバイルデバイスの名前
- -u-- udid: 実デバイスのudid
使用方法
- 長いパラメータ名
- 短いパラメータ名
wdio repl ios --platformVersion 11.3 --deviceName 'iPhone 7' --udid 123432abc
wdio repl ios -v 11.3 -d 'iPhone 7' -u 123432abc
REPLセッションで使用可能なオプション(wdio repl --helpを参照)を適用できます。

REPLを使用するもう1つの方法は、テスト内でdebugコマンドを使用することです。これは、呼び出されるとブラウザを停止し、アプリケーション(例:開発ツール)にジャンプしたり、コマンドラインからブラウザを制御したりできるようにします。これは、特定のコマンドが期待どおりに動作しない場合に役立ちます。REPLを使用すると、コマンドを試して、最も確実に動作するコマンドを確認できます。