Chromium
isAlertOpen
シンプルなダイアログが現在開いているかどうか。
非公式で未ドキュメントのChromiumコマンド。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.isAlertOpen()
例
console.log(browser.isAlertOpen()); // outputs: false
browser.execute('window.alert()');
console.log(browser.isAlertOpen()); // outputs: true
戻り値
- <Boolean>
isAlertOpen
: シンプルなダイアログが存在するかどうかによってtrue
またはfalse
を返します。
isAutoReporting
ブラウザログでエラーを自動的に発生させるかどうか。
非公式で未ドキュメントのChromiumコマンド。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.isAutoReporting()
戻り値
- <Boolean>
isAutoReporting
: 自動レポートが有効かどうかによってtrue
またはfalse
を返します。
setAutoReporting
後続のコマンドすべてについて、不明なエラーを含むレスポンスを返すかどうかを切り替えます(有効にすると)。(例:403/404レスポンスによるリソース読み込み失敗)
非公式で未ドキュメントのChromiumコマンド。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.setAutoReporting(enabled)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
enabled | boolean | 自動レポートを有効にする場合はtrue 、以前に有効にした自動レポートを無効にする場合はfalse を使用します。 |
例
// Enable auto reporting first thing after session was initiated with empty browser logs
console.log(browser.setAutoReporting(true)); // outputs: null
// Upon requesting an non-existing resource it will abort execution due to thrown unknown error
browser.url('https://webdriverio.dokyumento.jp/img/404-does-not-exist.png');
// During the session do some operations which populate the browser logs
browser.url('https://webdriverio.dokyumento.jp/img/404-does-not-exist.png');
browser.url('https://webdriverio.dokyumento.jp/403/no-access');
// Enable auto reporting which throws an unknown error for first browser log (404 response)
browser.setAutoReporting(true);
戻り値
- <Object|Null>
firstBrowserError
: このコマンドを実行する前にブラウザエラーが既に発生している場合、最初のブラウザエラーを説明する'message'キーを持つオブジェクトである不明なエラーをレスポンスとして返します。そうでない場合は、成功時にnull
を返します。
isLoading
アクティブなウィンドウハンドルの読み込み状態を判定します。
非公式で未ドキュメントのChromiumコマンド。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.isLoading()
例
console.log(browser.isLoading()); // outputs: false
browser.newWindow('https://webdriverio.dokyumento.jp');
console.log(browser.isLoading()); // outputs: true
戻り値
- <Boolean>
isLoading
: アクティブなウィンドウハンドルが読み込み中かどうかによってtrue
またはfalse
を返します。
takeHeapSnapshot
現在の実行コンテキストのヒープスナップショットを取得します。
非公式で未ドキュメントのChromiumコマンド。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.takeHeapSnapshot()
戻り値
- <Object>
heapSnapshot
: ヒープスナップショットのJSON表現。Chrome DevToolsにファイルとして読み込んで検査できます。
getNetworkConnection
ネットワークエミュレーションの接続の種類を取得します。このコマンドは、リモートエンドがnetworkConnectionEnabled
機能をtrue
に設定して応答する場合にのみ適用されます。
非公式で未ドキュメントのChromiumコマンド。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.getNetworkConnection()
例
const browser = remote({
capabilities: {
browserName: 'chrome',
'goog:chromeOptions': {
// Network emulation requires device mode, which is only enabled when mobile emulation is on
mobileEmulation: { deviceName: 'iPad' },
},
}
});
console.log(browser.getNetworkConnection()); // outputs: 6 (Both Wi-Fi and data)
戻り値
- <Number>
connectionType
: ネットワーク接続の種類を表すビットマスク。機内モード(1
)、Wi-Fiのみ(2
)、Wi-Fiとデータ(6
)、4G(8
)、3G(10
)、2G(20
)。デフォルトではWi-Fiとデータが有効になっています。
setNetworkConnection
ネットワーク接続の接続の種類を変更します。このコマンドは、リモートエンドがnetworkConnectionEnabled
機能をtrue
に設定して応答する場合にのみ適用されます。
非公式で未ドキュメントのChromiumコマンド。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.setNetworkConnection(parameters)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
parameters | object | type キーにビットマスクの値を含むオブジェクト。機内モード(1 )、Wi-Fiのみ(2 )、Wi-Fiとデータ(6 )、4G(8 )、3G(10 )、2G(20 )。 |
例
const browser = remote({
capabilities: {
browserName: 'chrome',
'goog:chromeOptions': {
// Network emulation requires device mode, which is only enabled when mobile emulation is on
mobileEmulation: { deviceName: 'iPad' },
},
}
});
console.log(browser.setNetworkConnection({ type: 1 })); // outputs: 1 (Airplane Mode)
戻り値
- <Number>
connectionType
: ネットワーク接続の種類を表すビットマスク。オブジェクト内の指定されたtype
と一致する必要がありますが、デバイスが要求されたネットワーク接続の種類に対応できない場合があります。
getNetworkConditions
エミュレーションで使用されている現在のネットワーク状況を取得します。
非公式で未ドキュメントのChromiumコマンド。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.getNetworkConditions()
戻り値
- <Object>
networkConditions
:offline
、latency
、download_throughput
、upload_throughput
のネットワーク状況を含むオブジェクト。ネットワーク状況は、取得する前に設定する必要があります。
setNetworkConditions
接続を調整してエミュレーションで使用されるネットワーク状況を設定します。
非公式で未ドキュメントのChromiumコマンド。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.setNetworkConditions(network_conditions, network_name)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
network_conditions | object | latency 、throughput (またはdownload_throughput /upload_throughput )、offline (オプション)を含むネットワーク状態オブジェクト。 |
network_name オプション | 文字列 | ネットワークスロットリングプリセットの名前。無効にするには、GPRS 、Regular 2G 、Good 2G 、Regular 3G 、Good 3G 、Regular 4G 、DSL 、WiFi 、またはNo throttling を指定します。プリセットが指定されている場合、最初の引数で渡された値は無視されます。 |
例
// Use different download (25kb/s) and upload (50kb/s) throughput values for throttling with a latency of 1000ms
browser.setNetworkConditions({ latency: 1000, download_throughput: 25600, upload_throughput: 51200 });
// Force disconnected from network by setting 'offline' to true
browser.setNetworkConditions({ latency: 0, throughput: 0, offline: true });
// When preset name (e.g. 'DSL') is specified it does not respect values in object (e.g. 'offline')
browser.setNetworkConditions({ latency: 0, throughput: 0, offline: true }, 'DSL');
// Best practice for specifying network throttling preset is to use an empty object
browser.setNetworkConditions({}, 'Good 3G');
deleteNetworkConditions
設定されている可能性のあるネットワークスロットリングを無効にします。No throttling
プリセットを設定することと同じです。
非公式で未文書化のChromiumコマンドです。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.deleteNetworkConditions()
sendCommand
DevToolsデバッガーにコマンドを送信します。
使用可能なコマンドとそのパラメータの一覧については、Chrome DevTools Protocol Viewerを参照してください。
非公式で未文書化のChromiumコマンドです。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.sendCommand(cmd, params)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
cmd | 文字列 | コマンドの名前(例:Browser.close )。 |
params | object | コマンドのパラメータ。コマンドにパラメータがない場合は、空のオブジェクトを指定します。 |
sendCommandAndGetResult
DevToolsデバッガーにコマンドを送信し、結果を待ちます。
使用可能なコマンドとそのパラメータの一覧については、Chrome DevTools Protocol Viewerを参照してください。
非公式で未文書化のChromiumコマンドです。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.sendCommandAndGetResult(cmd, params)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
cmd | 文字列 | 結果を返すコマンドの名前(例:Network.getAllCookies )。 |
params | object | コマンドのパラメータ。コマンドにパラメータがない場合は、空のオブジェクトを指定します。 |
戻り値
- <*>
result
: コマンドの戻り値、またはコマンドが失敗した理由となったエラー。
file
ブラウザが実行されているリモートマシンにファイルをアップロードします。
非公式で未文書化のChromiumコマンドです。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.file(file)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
file | 文字列 | アップロードする単一のファイルを含む、Base64でエンコードされたzipアーカイブ。Base64でエンコードされたデータがzipアーカイブを表していない場合、またはアーカイブに複数のファイルが含まれている場合、不明なエラーが発生します。 |
戻り値
- <文字列>
path
: リモートマシン上のアップロードされたファイルの絶対パス。
launchChromeApp
指定されたIDでChromeアプリを起動します。
非公式で未文書化のChromiumコマンドです。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.launchChromeApp(id)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
id | 文字列 | chrome://extensionsで定義されている、起動するアプリの拡張機能ID。 |
例
import fs from 'fs'
const browser = remote({
capabilities: {
browserName: 'chrome',
'goog:chromeOptions': {
// Install upon starting browser in order to launch it
extensions: [
// Entry should be a base64-encoded packed Chrome app (.crx)
fs.readFileSync('/absolute/path/app.crx').toString('base64')
]
}
}
});
browser.launchChromeApp('aohghmighlieiainnegkcijnfilokake')); // Google Docs (https://chrome.google.com/webstore/detail/docs/aohghmighlieiainnegkcijnfilokake)
getElementValue
指定されたフォームコントロール要素の値を取得します。
非公式で未文書化のChromiumコマンドです。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.getElementValue(elementId)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
elementId | 文字列 | 値を取得する要素のID |
戻り値
- <文字列|Null>
value
: 要素の現在の値。指定された要素がフォームコントロール要素でない場合、null
を返します。
elementHover
要素のホバー状態を有効にします。次の操作でリセットされます。
非公式で未文書化のChromiumコマンドです。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.elementHover(elementId)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
elementId | 文字列 | ホバーする要素のID |
touchPinch
ピンチズーム効果をトリガーします。
非公式で未文書化のChromiumコマンドです。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.touchPinch(x, y, scale)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
x | 数値 | ピンチするx座標 |
y | 数値 | ピンチするy座標 |
scale | 数値 | ピンチズームの倍率 |
freeze
Page Lifecycle APIの拡張機能です。現在のページをフリーズします。
非公式で未文書化のChromiumコマンドです。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.freeze()
resume
Page Lifecycle APIの拡張機能です。現在のページを再開します。
非公式で未文書化のChromiumコマンドです。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.resume()
getCastSinks
Chromeメディアルーターで使用可能なキャストシンク(Castデバイス)のリストを返します。
非公式で未文書化のChromiumコマンドです。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.getCastSinks()
戻り値
- <string[]>
sinks
: 使用可能なシンクのリスト。
selectCastSink
メディアルーターのインテント(接続または再生)の受信者として、キャストシンク(Castデバイス)を選択します。
非公式で未文書化のChromiumコマンドです。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.selectCastSink(sinkName)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
sinkName | 文字列 | ターゲットデバイスの名前。 |
startCastTabMirroring
指定されたデバイスで、現在のブラウザタブのタブミラーリングを開始します。
非公式で未文書化のChromiumコマンドです。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.startCastTabMirroring(sinkName)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
sinkName | 文字列 | ターゲットデバイスの名前。 |
getCastIssueMessage
Castセッションに問題がある場合、エラーメッセージを返します。
非公式で未文書化のChromiumコマンドです。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.getCastIssueMessage()
戻り値
- <文字列>
message
: エラーメッセージ(存在する場合)。
stopCasting
接続されている場合、メディアルーターから指定されたデバイスへのキャストを停止します。
非公式で未文書化のChromiumコマンドです。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.stopCasting(sinkName)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
sinkName | 文字列 | ターゲットデバイスの名前。 |
shutdown
ChromeDriverプロセスをシャットダウンし、その結果、すべてのアクティブなセッションを終了します。
非公式で未文書化のChromiumコマンドです。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.shutdown()
takeElementScreenshot
Take Element Screenshotコマンドは、要素のバウンディング矩形によって囲まれた可視領域のスクリーンショットを取得します。
非公式で未文書化のChromiumコマンドです。このコマンドの詳細についてはこちらを参照してください。
使用方法
browser.takeElementScreenshot(elementId, scroll)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
elementId | 文字列 | Find Element(s) の以前の呼び出しで返された要素の ID |
スクロール オプション | boolean | 要素をビューにスクロールします。デフォルト: true |
戻り値
- <String>
screenshot
: 要素のバウンディング矩形が表示領域のスクリーンショットを含む、base64 エンコードされた PNG 画像データ(スクロール後に表示)。
ログタイプの取得
使用可能なログタイプを取得します。
非公式で未ドキュメントのChromiumコマンドです。このコマンドの詳細については、こちらをご覧ください。
使用方法
browser.getLogTypes()
戻り値
- <String[]>
logTypes
: 使用可能なログタイプのリスト(例: browser, driver)。
ログの取得
指定されたログタイプのログを取得します。ログバッファは各リクエスト後にリセットされます。
非公式で未ドキュメントのChromiumコマンドです。このコマンドの詳細については、こちらをご覧ください。
使用方法
browser.getLogs(type)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
タイプ | 文字列 | ログタイプ |
戻り値
- <Object[]>
logs
: ログエントリのリスト。