Chromium
isAlertOpen
シンプルなダイアログが現在開いているかどうか。
非公式かつ未ドキュメント化されたChromiumコマンドです。このコマンドについての詳細はこちらで確認できます。
使用法
browser.isAlertOpen()
例
console.log(browser.isAlertOpen()); // 出力: false
browser.execute('window.alert()');
console.log(browser.isAlertOpen()); // 出力: true
戻り値
- <Boolean>
isAlertOpen
: シンプルなダイアログが存在するかどうかに基づいてtrue
またはfalse
を返します。
isAutoReporting
ブラウザログでエラーを自動的に発生させるかどうか。
非公式かつ未ドキュメント化されたChromiumコマンドです。このコマンドについての詳細はこちらで確認できます。
使用法
browser.isAutoReporting()
戻り値
- <Boolean>
isAutoReporting
: 自動レポートが有効かどうかに基づいてtrue
またはfalse
を返します。
setAutoReporting
後続のすべてのコマンドに対して、最初のブラウザエラー(例:403/404レスポンスによりリソースの読み込みに失敗)があれば不明なエラーを含むレスポンスを返すかどうかを切り替えます(有効化後)。
非公式かつ未ドキュメント化されたChromiumコマンドです。このコマンドについての詳細はこちらで確認できます。
使用法
browser.setAutoReporting(enabled)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
enabled | boolean | 自動レポートを有効にする場合は true 、以前に有効化された自動レポートを無効にする場合は false 。 |
例
// 空のブラウザログでセッションが開始された後、最初に自動レポートを有効にする
console.log(browser.setAutoReporting(true)); // 出力: null
// 存在しないリソースをリクエストすると、不明なエラーがスローされ実行が中止される
browser.url('https://webdriver.io/img/404-does-not-exist.png');
// セッション中にブラウザログを生成する操作を実行
browser.url('https://webdriver.io/img/404-does-not-exist.png');
browser.url('https://webdriver.io/403/no-access');
// 最初のブラウザログ(404レスポンス)の不明なエラーをスローする自動レポートを有効にする
browser.setAutoReporting(true);
戻り値
- <Object|Null>
firstBrowserError
: このコマンドを実行する前に最初のブラウザエラーが既に発生していた場合、最初のブラウザエラーを説明する 'message' キーを持つオブジェクトとして不明なエラーをレスポンスとしてスローします。それ以外の場合は成功時にnull
を返します。
isLoading
アクティブなウィンドウハンドルの読み込み状態を判定します。
非公式かつ未ドキュメント化されたChromiumコマンドです。このコマンドについての詳細はこちらで確認できます。
使用法
browser.isLoading()
例
console.log(browser.isLoading()); // 出力: false
browser.newWindow('https://webdriver.io');
console.log(browser.isLoading()); // 出力: 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': {
// ネットワークエミュレーションにはデバイスモードが必要で、モバイルエミュレーションが有効な場合のみ有効になります
mobileEmulation: { deviceName: 'iPad' },
},
}
});
console.log(browser.getNetworkConnection()); // 出力: 6(Wi-Fiとデータの両方)
戻り値
- <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 | ConnectionTypeを含むオブジェクト。オブジェクト内の type キーの値としてビットマスクを設定します。機内モード(1 )、Wi-Fiのみ(2 )、Wi-Fiとデータ(6 )、4G(8 )、3G(10 )、2G(20 )。 |
例
const browser = remote({
capabilities: {
browserName: 'chrome',
'goog:chromeOptions': {
// ネットワークエミュレーションにはデバイスモードが必要で、モバイルエミュレーションが有効な場合のみ有効になります
mobileEmulation: { deviceName: 'iPad' },
},
}
});
console.log(browser.setNetworkConnection({ type: 1 })); // 出力: 1(機内モード)
戻り値
- <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 オプション | string | ネットワークスロットリングプリセットの名前。GPRS 、Regular 2G 、Good 2G 、Regular 3G 、Good 3G 、Regular 4G 、DSL 、WiFi 、または無効にするための No throttling 。プリセットが指定されている場合、最初の引数で渡された値は考慮されません。 |
例
// スロットリングに異なるダウンロード(25kb/s)とアップロード(50kb/s)のスループット値を1000msのレイテンシで使用
browser.setNetworkConditions({ latency: 1000, download_throughput: 25600, upload_throughput: 51200 });
// 'offline'をtrueに設定してネットワークから強制的に切断する
browser.setNetworkConditions({ latency: 0, throughput: 0, offline: true });
// プリセット名(例:'DSL')が指定されている場合、オブジェクト内の値(例:'offline')は考慮されない
browser.setNetworkConditions({ latency: 0, throughput: 0, offline: true }, 'DSL');
// ネットワークスロットリングプリセットを指定するベストプラクティスは空のオブジェクトを使用すること
browser.setNetworkConditions({}, 'Good 3G');
deleteNetworkConditions
設定されている可能性のあるネットワークスロットリングを無効にします。No throttling
プリセットの設定と同等です。
非公式かつ未ドキュメント化されたChromiumコマンドです。このコマンドについての詳細はこちらで確認できます。
使用法
browser.deleteNetworkConditions()
sendCommand
DevToolsデバッガーにコマンドを送信します。
利用可能なコマンドとそのパラメータのリストについては、Chrome DevTools Protocol Viewerを参照してください。
非公式かつ未ドキュメント化されたChromiumコマンドです。このコマンドについての詳細はこちらで確認できます。
使用法
browser.sendCommand(cmd, params)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
cmd | string | コマンドの名前(例:Browser.close )。 |
params | object | コマンドへのパラメータ。コマンドにパラメータがない場合は空のオブジェクトを指定します。 |
sendCommandAndGetResult
DevToolsデバッガーにコマンドを送信し、結果を待ちます。
利用可能なコマンドとそのパラメータのリストについては、Chrome DevTools Protocol Viewerを参照してください。
非公式かつ未ドキュメント化されたChromiumコマンドです。このコマンドについての詳細はこちらで確認できます。
使用法
browser.sendCommandAndGetResult(cmd, params)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
cmd | string | 結果を返すコマンドの名前(例:Network.getAllCookies )。 |
params | object | コマンドへのパラメータ。コマンドにパラメータがない場合は空のオブジェクトを指定します。 |
戻り値
- <*>
result
: コマンドの戻り値、またはコマンドの失敗理由となったエラー。
file
ブラウザが実行されているリモートマシンにファイルをアップロードします。
非公式かつ未ドキュメント化されたChromiumコマンドです。このコマンドについての詳細はこちらで確認できます。
使用法
browser.file(file)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
file | string | アップロードする__単一の__ファイルを含むBase64エンコードされたzipアーカイブ。Base64エンコードされたデータがzipアーカイブでない場合、またはアーカイブに複数のファイルが含まれている場合、不明なエラーがスローされます。 |
戻り値
- <String>
path
: リモートマシン上のアップロードされたファイルの絶対パス。
launchChromeApp
指定されたIDによってChromeアプリを起動します。
非公式かつ未ドキュメント化されたChromiumコマンドです。このコマンドについての詳細はこちらで確認できます。
使用法
browser.launchChromeApp(id)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
id | string | chrome://extensionsで定義されている、起動するアプリの拡張機能ID。 |
例
import fs from 'fs'
const browser = remote({
capabilities: {
browserName: 'chrome',
'goog:chromeOptions': {
// 起動するためにブラウザ起動時にインストールする
extensions: [
// エントリはBase64エンコードされたパッケージ化されたChromeアプリ(.crx)である必要があります
fs.readFileSync('/absolute/path/app.crx').toString('base64')
]
}
}
});
browser.launchChromeApp('aohghmighlieiainnegkcijnfilokake')); // Google ドキュメント(https://chrome.google.com/webstore/detail/docs/aohghmighlieiainnegkcijnfilokake)
getElementValue
指定されたフォームコントロール要素の値を取得します。
非公式かつ未ドキュメント化されたChromiumコマンドです。このコマンドについての詳細はこちらで確認できます。
使用法
browser.getElementValue(elementId)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
elementId | String | 値を取得する要素のID |
戻り値
- <String|Null>
value
: 要素の現在の値。指定された要素がフォームコントロール要素でない場合、null
を返します。
elementHover
要素のホバー状態を有効にします。これは次のインタラクションでリセットされます。
非公式かつ未ドキュメント化されたChromiumコマンドです。このコマンドについての詳細はこちらで確認できます。
使用法
browser.elementHover(elementId)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
elementId | String | ホバーする要素のID |
touchPinch
ピンチズーム効果をトリガーします。
非公式かつ未ドキュメント化されたChromiumコマンドです。このコマンドについての詳細はこちらで確認できます。
使用法
browser.touchPinch(x, y, scale)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
x | number | ピンチするx位置 |
y | number | ピンチするy位置 |
scale | number | ピンチズームのスケール |
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 | string | ターゲットデバイスの名前。 |
startCastTabMirroring
指定されたデバイス上の現在のブラウザタブのタブミラーリングを開始します。
非公式かつ未ドキュメント化されたChromiumコマンドです。このコマンドについての詳細はこちらで確認できます。
使用法
browser.startCastTabMirroring(sinkName)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
sinkName | string | ターゲットデバイスの名前。 |
getCastIssueMessage
Castセッションに問題がある場合のエラーメッセージを返します。
非公式かつ未ドキュメント化されたChromiumコマンドです。このコマンドについての詳細はこちらで確認できます。
使用法
browser.getCastIssueMessage()
戻り値
- <String>
message
: エラーメッセージ(ある場合)。
stopCasting
メディアルーターから指定されたデバイスへのキャストを停止します(接続されている場合)。
非公式かつ未ドキュメント化されたChromiumコマンドです。このコマンドについての詳細はこちらで確認できます。
使用法
browser.stopCasting(sinkName)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
sinkName | string | ターゲットデバイスの名前。 |
shutdown
ChromeDriverプロセスをシャットダウンし、その結果としてすべてのアクティブなセッションを終了します。
非公式かつ未ドキュメント化されたChromiumコマンドです。このコマンドについての詳細はこちらで確認できます。
使用法
browser.shutdown()
takeElementScreenshot
要素のスクリーンショットコマンドは、要素の境界矩形に含まれる可視領域のスクリーンショットを撮影します。
非公式かつ未ドキュメント化されたChromiumコマンドです。このコマンドについての詳細はこちらで確認できます。
使用法
browser.takeElementScreenshot(elementId, scroll)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
elementId | String | 以前のFind Element(s)呼び出しで返された要素のID |
scroll オプション | boolean | 要素を表示するためにスクロールします。デフォルト: true |
戻り値
- <String>
screenshot
: 要素の境界矩形の可視領域のスクリーンショットを構成するBase64エンコードされたPNG画像データ(ビューにスクロールされた後)。
getLogTypes
使用可能なログタイプを取得します。
非公式かつ未ドキュメント化されたChromiumコマンドです。このコマンドについての詳細はこちらで確認できます。
使用法
browser.getLogTypes()
戻り値
- <String[]>
logTypes
: 使用可能なログタイプのリスト。例:browser、driver。
getLogs
指定されたログタイプのログを取得します。ログバッファは各リクエスト後にリセットされます。
非公式かつ未ドキュメント化されたChromiumコマンドです。このコマンドについての詳細はこちらで確認できます。
使用法
browser.getLogs(type)
パラメータ
名前 | 型 | 詳細 |
---|---|---|
type | string | ログタイプ |
戻り値
- <Object[]>
logs
: ログエントリのリスト。