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

AndroidDevice

AndroidDevice は、実機ハードウェアまたはエミュレートされた接続済みデバイスを表します。デバイスは、android.devices() を使用して取得できます。


メソッド

close

追加: v1.9 androidDevice.close

デバイスから切断します。

使用法

await androidDevice.close();

戻り値


drag

追加: v1.9 androidDevice.drag

selector で定義されたウィジェットを dest ポイントに向かってドラッグします。

使用法

await androidDevice.drag(selector, dest);
await androidDevice.drag(selector, dest, options);

引数

  • selector [AndroidSelector]#

    ドラッグするセレクター。

  • dest Object#

    ドラッグ先のポイント。

  • options Object (オプション)

    • speed number (オプション)#

      ドラッグのオプションの速度 (ピクセル/秒)。

    • timeout number (オプション)#

      最大タイムアウト時間 (ミリ秒)。デフォルトは 30 秒です。タイムアウトを無効にするには 0 を渡します。デフォルト値は、androidDevice.setDefaultTimeout() メソッドを使用して変更できます。

戻り値


fill

追加: v1.9 androidDevice.fill

特定の selector 入力ボックスに text を入力します。

使用法

await androidDevice.fill(selector, text);
await androidDevice.fill(selector, text, options);

引数

  • selector [AndroidSelector]#

    入力するセレクター。

  • text string#

    入力ボックスに入力するテキスト。

  • options Object (オプション)

    • timeout number (オプション)#

      最大タイムアウト時間 (ミリ秒)。デフォルトは 30 秒です。タイムアウトを無効にするには 0 を渡します。デフォルト値は、androidDevice.setDefaultTimeout() メソッドを使用して変更できます。

戻り値


fling

追加: v1.9 androidDevice.fling

selector で定義されたウィジェットを、指定された direction にフリング (強く払いのける) します。

使用法

await androidDevice.fling(selector, direction);
await androidDevice.fling(selector, direction, options);

引数

  • selector [AndroidSelector]#

    フリングするセレクター。

  • direction "down" | "up" | "left" | "right"#

    フリングの方向。

  • options Object (オプション)

    • speed number (オプション)#

      フリングのオプションの速度 (ピクセル/秒)。

    • timeout number (オプション)#

      最大タイムアウト時間 (ミリ秒)。デフォルトは 30 秒です。タイムアウトを無効にするには 0 を渡します。デフォルト値は、androidDevice.setDefaultTimeout() メソッドを使用して変更できます。

戻り値


info

追加: v1.9 androidDevice.info

selector で定義されたウィジェットに関する情報を返します。

使用法

await androidDevice.info(selector);

引数

  • selector [AndroidSelector]#

    情報を返すセレクター。

戻り値


installApk

追加: v1.9 androidDevice.installApk

デバイスに apk をインストールします。

使用法

await androidDevice.installApk(file);
await androidDevice.installApk(file, options);

引数

  • file string | Buffer#

    apk ファイルへのパス、または apk ファイルのコンテンツ。

  • options Object (オプション)

    • args Array<string> (オプション)#

      shell:cmd package install 呼び出しに渡すオプションの引数。デフォルトは -r -t -S です。

戻り値


launchBrowser

追加: v1.9 androidDevice.launchBrowser

デバイスで Chrome ブラウザを起動し、その永続的なコンテキストを返します。

使用法

await androidDevice.launchBrowser();
await androidDevice.launchBrowser(options);

引数

  • options Object (オプション)
    • acceptDownloads boolean (オプション)#

      すべてのアタッチメントを自動的にダウンロードするかどうか。デフォルトは true で、すべてのダウンロードが許可されます。

    • args Array<string> (オプション)追加: v1.29#

      警告

      カスタムブラウザ引数の使用はご自身の責任で行ってください。一部の引数は Playwright の機能を損なう可能性があります。

      ブラウザインスタンスに渡す追加の引数。Chromium フラグのリストは こちら にあります。

    • baseURL string (オプション)#

      page.goto(), page.route(), page.waitForURL(), page.waitForRequest(), または page.waitForResponse() を使用する場合、対応する URL を構築するために URL() コンストラクターを使用して、ベース URL を考慮します。デフォルトでは設定されていません。例

      • baseURL: http://localhost:3000/bar.html にナビゲートすると、http://localhost:3000/bar.html になります。
      • baseURL: http://localhost:3000/foo/./bar.html にナビゲートすると、http://localhost:3000/foo/bar.html になります。
      • baseURL: http://localhost:3000/foo (末尾のスラッシュなし) で ./bar.html にナビゲートすると、http://localhost:3000/bar.html になります。
    • bypassCSP boolean (オプション)#

      ページの Content-Security-Policy のバイパスを切り替えます。デフォルトは false です。

    • colorScheme null | "light" | "dark" | "no-preference" (オプション)#

      prefers-colors-scheme メディア機能をエミュレートします。サポートされている値は 'light' および 'dark' です。詳細については、page.emulateMedia() を参照してください。null を渡すと、エミュレーションがシステムのデフォルトにリセットされます。デフォルトは 'light' です。

    • contrast null | "no-preference" | "more" (オプション)#

      'prefers-contrast' メディア機能をエミュレートします。サポートされている値は 'no-preference', 'more' です。詳細については、page.emulateMedia() を参照してください。null を渡すと、エミュレーションがシステムのデフォルトにリセットされます。デフォルトは 'no-preference' です。

    • deviceScaleFactor number (オプション)#

      デバイスのスケールファクター (dpr と考えることができます) を指定します。デフォルトは 1 です。詳細については、デバイススケールファクターを使用したデバイスのエミュレーション を参照してください。

    • extraHTTPHeaders Object<string, string> (オプション)#

      すべてのリクエストとともに送信される追加の HTTP ヘッダーを含むオブジェクト。デフォルトはなし。

    • forcedColors null | "active" | "none" (オプション)#

      'forced-colors' メディア機能をエミュレートします。サポートされている値は 'active', 'none' です。詳細については、page.emulateMedia() を参照してください。null を渡すと、エミュレーションがシステムのデフォルトにリセットされます。デフォルトは 'none' です。

    • geolocation Object (オプション)#

      • latitude number

        緯度 (-90 から 90)。

      • longitude number

        経度 (-180 から 180)。

      • accuracy number (オプション)

        負でない精度値。デフォルトは 0 です。

    • hasTouch boolean (オプション)#

      ビューポートがタッチイベントをサポートするかどうかを指定します。デフォルトは false です。詳細については、モバイルエミュレーション を参照してください。

    • httpCredentials Object (オプション)#

      • username string

      • password string

      • origin string (オプション)

        特定のオリジン (スキーム://ホスト:ポート).

      • send "unauthorized" | "always" (オプション)

        このオプションは、対応する APIRequestContext から送信されたリクエストにのみ適用され、ブラウザから送信されたリクエストには影響しません。'always' - 基本認証資格情報を含む Authorization ヘッダーが各 API リクエストとともに送信されます。'unauthorized - 資格情報は、WWW-Authenticate ヘッダーを含む 401 (Unauthorized) レスポンスを受信した場合にのみ送信されます。デフォルトは 'unauthorized' です。

      HTTP 認証 の資格情報。オリジンが指定されていない場合、ユーザー名とパスワードは、認証されていないレスポンスに対して任意のサーバーに送信されます。

    • ignoreHTTPSErrors boolean (オプション)#

      ネットワークリクエストを送信するときに HTTPS エラーを無視するかどうか。デフォルトは false です。

    • isMobile boolean (オプション)#

      meta viewport タグが考慮され、タッチイベントが有効になっているかどうか。isMobile はデバイスの一部であるため、手動で設定する必要はありません。デフォルトは false であり、Firefox ではサポートされていません。詳細については、モバイルエミュレーション を参照してください。

    • javaScriptEnabled boolean (オプション)#

      コンテキストで JavaScript を有効にするかどうか。デフォルトは true です。詳細については、JavaScript の無効化 を参照してください。

    • locale string (オプション)#

      ユーザーロケール (例: en-GB, de-DE など) を指定します。ロケールは、navigator.language の値、Accept-Language リクエストヘッダーの値、および数値と日付の書式設定ルールに影響します。デフォルトはシステムのデフォルトロケールです。エミュレーションの詳細については、エミュレーションガイド を参照してください。

    • logger Logger (オプション)#

      Playwright ロギング用のロガーシンク。

    • offline boolean (オプション)#

      ネットワークをオフラインにするかどうかをエミュレートします。デフォルトは false です。詳細については、ネットワークエミュレーション を参照してください。

    • permissions Array<string> (オプション)#

      このコンテキスト内のすべてのページに付与する権限のリスト。詳細については、browserContext.grantPermissions() を参照してください。デフォルトはなし。

    • pkg string (オプション)#

      デフォルトの Chrome for Android の代わりに起動するオプションのパッケージ名。

    • proxy Object (オプション)追加: v1.29#

      • server string

        すべてのリクエストに使用されるプロキシ。HTTP および SOCKS プロキシがサポートされています。例: http://myproxy.com:3128 または socks5://myproxy.com:3128。短縮形の myproxy.com:3128 は HTTP プロキシと見なされます。

      • bypass string (オプション)

        プロキシをバイパスするオプションのコンマ区切りドメイン。例: ".com, chromium.org, .domain.com"

      • username string (オプション)

        HTTP プロキシが認証を必要とする場合に使用するオプションのユーザー名。

      • password string (オプション)

        HTTP プロキシが認証を必要とする場合に使用するオプションのパスワード。

      ネットワークプロキシ設定。

    • recordHar Object (オプション)#

      • omitContent boolean (オプション)

        HAR からリクエストコンテンツを省略するかどうかを制御するオプションの設定。デフォルトは false です。非推奨。代わりに content ポリシーを使用してください。

      • content "omit" | "embed" | "attach" (オプション)

        リソースコンテンツ管理を制御するオプションの設定。omit が指定されている場合、コンテンツは永続化されません。attach が指定されている場合、リソースは個別のファイルとして、または ZIP アーカイブのエントリとして永続化されます。embed が指定されている場合、コンテンツは HAR 仕様に従って HAR ファイルにインラインで保存されます。デフォルトは、.zip 出力ファイルの場合は attach、他のすべてのファイル拡張子の場合は embed です。

      • path string

        HAR ファイルを書き込むファイルシステムのパス。ファイル名が .zip で終わる場合、デフォルトで content: 'attach' が使用されます。

      • mode "full" | "minimal" (オプション)

        minimal に設定すると、HAR からのルーティングに必要な情報のみを記録します。これにより、HAR から再生するときに使用されないサイズ、タイミング、ページ、Cookie、セキュリティ、およびその他のタイプの HAR 情報が省略されます。デフォルトは full です。

      • urlFilter string | RegExp (オプション)

        HAR に保存されるリクエストをフィルタリングする glob または正規表現パターン。baseURL がコンテキストオプションを介して提供され、渡された URL がパスの場合、new URL() コンストラクターを介してマージされます。デフォルトはなし。

      HAR 記録をすべてのページに対して recordHar.path ファイルに有効にします。指定しない場合、HAR は記録されません。HAR を保存するには、browserContext.close() を await してください。

    • recordVideo Object (オプション)#

      • dir string

        ビデオを保存するディレクトリへのパス。

      • size Object (オプション)

        • width number

          ビデオフレームの幅。

        • height number

          ビデオフレームの高さ。

        記録されたビデオのオプションの寸法。指定しない場合、サイズは 800x800 に収まるように縮小された viewport と同じになります。viewport が明示的に設定されていない場合、ビデオサイズはデフォルトで 800x450 になります。各ページの実画像は、指定されたサイズに収まるように必要に応じて縮小されます。

      すべてのページのビデオ録画を recordVideo.dir ディレクトリに有効にします。指定しない場合、ビデオは記録されません。ビデオを保存するには、browserContext.close() を await してください。

    • reducedMotion null | "reduce" | "no-preference" (オプション)#

      'prefers-reduced-motion' メディア機能をエミュレートします。サポートされている値は 'reduce', 'no-preference' です。詳細については、page.emulateMedia() を参照してください。null を渡すと、エミュレーションがシステムのデフォルトにリセットされます。デフォルトは 'no-preference' です。

    • screen Object (オプション)#

      • width number

        ページ幅 (ピクセル単位)。

      • height number

        ページ高さ (ピクセル単位)。

      window.screen を介して Web ページ内で利用可能な一貫したウィンドウ画面サイズをエミュレートします。viewport が設定されている場合にのみ使用されます。

    • serviceWorkers "allow" | "block" (オプション)#

      サイトが Service Worker を登録できるようにするかどうか。デフォルトは 'allow' です。

      • 'allow': Service Worker を登録できます。
      • 'block': Playwright は Service Worker のすべての登録をブロックします。
    • strictSelectors boolean (オプション)#

      true に設定すると、このコンテキストで厳密なセレクターモードが有効になります。厳密なセレクターモードでは、単一のターゲット DOM 要素を意味するセレクターに対するすべての操作は、複数の要素がセレクターに一致する場合にスローされます。このオプションは、Locator API には影響しません (Locator は常に厳密です)。デフォルトは false です。厳密モードの詳細については、Locator を参照してください。

    • timezoneId string (オプション)#

      コンテキストのタイムゾーンを変更します。サポートされているタイムゾーン ID のリストについては、ICU's metaZones.txt を参照してください。デフォルトはシステムのタイムゾーンです。

    • userAgent string (オプション)#

      このコンテキストで使用する特定のユーザーエージェント。

    • videoSize Object (オプション)#

      非推奨

      recordVideo を代わりに使用してください。

      • width number

        ビデオフレームの幅。

      • height number

        ビデオフレームの高さ。

    • videosPath string (オプション)#

      非推奨

      recordVideo を代わりに使用してください。

    • viewport null | Object (オプション)#

      • width number

        ページ幅 (ピクセル単位)。

      • height number

        ページ高さ (ピクセル単位)。

      各ページで一貫したビューポートをエミュレートします。デフォルトは 1280x720 のビューポートです。一貫したビューポートのエミュレーションを無効にするには null を使用します。ビューポートのエミュレーションの詳細をご覧ください。

      注記

      null 値はデフォルトのプリセットからオプトアウトし、ビューポートをオペレーティングシステムによって定義されたホストウィンドウサイズに依存させます。これにより、テストの実行が非決定論的になります。

戻り値


longTap

追加: v1.9 androidDevice.longTap

selector で定義されたウィジェット上で長押しを実行します。

使用法

await androidDevice.longTap(selector);
await androidDevice.longTap(selector, options);

引数

  • selector [AndroidSelector]#

    タップするセレクター。

  • options Object (オプション)

    • timeout number (オプション)#

      最大タイムアウト時間 (ミリ秒)。デフォルトは 30 秒です。タイムアウトを無効にするには 0 を渡します。デフォルト値は、androidDevice.setDefaultTimeout() メソッドを使用して変更できます。

戻り値


model

追加: v1.9 androidDevice.model

デバイスモデル。

使用法

androidDevice.model();

戻り値


open

追加: v1.9 androidDevice.open

デバイス上のシェルでプロセスを起動し、起動されたプロセスと通信するためのソケットを返します。

使用法

await androidDevice.open(command);

引数

  • command string#

    実行するシェルコマンド。

戻り値


pinchClose

追加: v1.9 androidDevice.pinchClose

selector で定義されたウィジェットをクローズ方向にピンチします。

使用法

await androidDevice.pinchClose(selector, percent);
await androidDevice.pinchClose(selector, percent, options);

引数

  • selector [AndroidSelector]#

    ピンチクローズするセレクター。

  • percent number#

    ウィジェットのサイズに対する割合としてのピンチのサイズ。

  • options Object (オプション)

    • speed number (オプション)#

      オプションのピンチ速度(ピクセル/秒)。

    • timeout number (オプション)#

      最大タイムアウト時間 (ミリ秒)。デフォルトは 30 秒です。タイムアウトを無効にするには 0 を渡します。デフォルト値は、androidDevice.setDefaultTimeout() メソッドを使用して変更できます。

戻り値


pinchOpen

追加: v1.9 androidDevice.pinchOpen

selector で定義されたウィジェットをオープン方向にピンチします。

使用法

await androidDevice.pinchOpen(selector, percent);
await androidDevice.pinchOpen(selector, percent, options);

引数

  • selector [AndroidSelector]#

    ピンチオープンするセレクター。

  • percent number#

    ウィジェットのサイズに対する割合としてのピンチのサイズ。

  • options Object (オプション)

    • speed number (オプション)#

      オプションのピンチ速度(ピクセル/秒)。

    • timeout number (オプション)#

      最大タイムアウト時間 (ミリ秒)。デフォルトは 30 秒です。タイムアウトを無効にするには 0 を渡します。デフォルト値は、androidDevice.setDefaultTimeout() メソッドを使用して変更できます。

戻り値


press

追加: v1.9 androidDevice.press

selector で定義されたウィジェットで、特定の key を押します。

使用法

await androidDevice.press(selector, key);
await androidDevice.press(selector, key, options);

引数

  • selector [AndroidSelector]#

    キーを押すセレクター。

  • key [AndroidKey]#

    押すキー。

  • options Object (オプション)

    • timeout number (オプション)#

      最大タイムアウト時間 (ミリ秒)。デフォルトは 30 秒です。タイムアウトを無効にするには 0 を渡します。デフォルト値は、androidDevice.setDefaultTimeout() メソッドを使用して変更できます。

戻り値


push

追加: v1.9 androidDevice.push

デバイスにファイルをコピーします。

使用法

await androidDevice.push(file, path);
await androidDevice.push(file, path, options);

引数

  • file string | Buffer#

    ファイルへのパス、またはファイルの内容。

  • path string#

    デバイス上のファイルパス。

  • options Object (オプション)

    • mode number (オプション)#

      オプションのファイルモード、デフォルトは 644 (rw-r--r--) です。

戻り値


screenshot

追加: v1.9 androidDevice.screenshot

デバイスでキャプチャされたスクリーンショットのバッファを返します。

使用法

await androidDevice.screenshot();
await androidDevice.screenshot(options);

引数

  • options Object (オプション)
    • path string (オプション)#

      path が相対パスの場合、現在の作業ディレクトリからの相対パスとして解決されます。パスが指定されていない場合、画像はディスクに保存されません。

戻り値


scroll

追加: v1.9 androidDevice.scroll

selector で定義されたウィジェットを、指定された direction にスクロールします。

使用法

await androidDevice.scroll(selector, direction, percent);
await androidDevice.scroll(selector, direction, percent, options);

引数

  • selector [AndroidSelector]#

    スクロールするセレクター。

  • direction "down" | "up" | "left" | "right"#

    スクロール方向。

  • percent number#

    ウィジェットのサイズに対する割合としてのスクロール距離。

  • options Object (オプション)

    • speed number (オプション)#

      オプションのスクロール速度(ピクセル/秒)。

    • timeout number (オプション)#

      最大タイムアウト時間 (ミリ秒)。デフォルトは 30 秒です。タイムアウトを無効にするには 0 を渡します。デフォルト値は、androidDevice.setDefaultTimeout() メソッドを使用して変更できます。

戻り値


serial

追加: v1.9 androidDevice.serial

デバイスのシリアル番号。

使用法

androidDevice.serial();

戻り値


setDefaultTimeout

追加: v1.9 androidDevice.setDefaultTimeout

この設定は、timeout オプションを受け入れるすべてのメソッドのデフォルトの最大時間を変更します。

使用法

androidDevice.setDefaultTimeout(timeout);

引数

  • timeout number#

    最大時間(ミリ秒)


shell

追加: v1.9 androidDevice.shell

デバイスでシェルコマンドを実行し、その出力を返します。

使用法

await androidDevice.shell(command);

引数

  • command string#

    実行するシェルコマンド。

戻り値


swipe

追加: v1.9 androidDevice.swipe

selector で定義されたウィジェットを、指定された direction にスワイプします。

使用法

await androidDevice.swipe(selector, direction, percent);
await androidDevice.swipe(selector, direction, percent, options);

引数

  • selector [AndroidSelector]#

    スワイプするセレクター。

  • direction "down" | "up" | "left" | "right"#

    スワイプ方向。

  • percent number#

    ウィジェットのサイズに対する割合としてのスワイプ距離。

  • options Object (オプション)

    • speed number (オプション)#

      オプションのスワイプ速度(ピクセル/秒)。

    • timeout number (オプション)#

      最大タイムアウト時間 (ミリ秒)。デフォルトは 30 秒です。タイムアウトを無効にするには 0 を渡します。デフォルト値は、androidDevice.setDefaultTimeout() メソッドを使用して変更できます。

戻り値


tap

追加: v1.9 androidDevice.tap

selector で定義されたウィジェットをタップします。

使用法

await androidDevice.tap(selector);
await androidDevice.tap(selector, options);

引数

  • selector [AndroidSelector]#

    タップするセレクター。

  • options Object (オプション)

    • duration number (オプション)#

      オプションのタップ時間(ミリ秒)。

    • timeout number (オプション)#

      最大タイムアウト時間 (ミリ秒)。デフォルトは 30 秒です。タイムアウトを無効にするには 0 を渡します。デフォルト値は、androidDevice.setDefaultTimeout() メソッドを使用して変更できます。

戻り値


wait

追加: v1.9 androidDevice.wait

特定の selector が表示または非表示になるのを、state に応じて待ちます。

使用法

await androidDevice.wait(selector);
await androidDevice.wait(selector, options);

引数

  • selector [AndroidSelector]#

    待機するセレクター。

  • options Object (オプション)

    • state "gone" (オプション)#

      オプションの状態。次のいずれかです。

      • デフォルト - 要素が存在するのを待ちます。
      • 'gone' - 要素が存在しないのを待ちます。
    • timeout number (オプション)#

      最大タイムアウト時間 (ミリ秒)。デフォルトは 30 秒です。タイムアウトを無効にするには 0 を渡します。デフォルト値は、androidDevice.setDefaultTimeout() メソッドを使用して変更できます。

戻り値


waitForEvent

追加: v1.9 androidDevice.waitForEvent

イベントが発生するのを待ち、その値を述語関数に渡します。述語が真の値を返すと終了します。

使用法

await androidDevice.waitForEvent(event);
await androidDevice.waitForEvent(event, optionsOrPredicate);

引数

  • event string#

    イベント名。通常 *.on(event) に渡されるものと同じです。

  • optionsOrPredicate function | Object (オプション)#

    • predicate function

      イベントデータを受け取り、待機を終了すべきときに真の値を返します。

    • timeout number (オプション)

      最大待機時間(ミリ秒)。デフォルトは 30000 (30 秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は androidDevice.setDefaultTimeout() を使用して変更できます。

    イベントを受け取る述語またはオプションオブジェクトのいずれか。オプション。

戻り値


webView

追加: v1.9 androidDevice.webView

このメソッドは、selector に一致する AndroidWebView が開くまで待機し、それを返します。selector に一致する AndroidWebView がすでに開いている場合は、すぐに返します。

使用法

await androidDevice.webView(selector);
await androidDevice.webView(selector, options);

引数

  • selector Object#
    • pkg string (オプション)

      オプションのパッケージ識別子。

    • socketName string (オプション)

      オプションの webview ソケット名。

  • options Object (オプション)
    • timeout number (オプション)#

      最大タイムアウト時間 (ミリ秒)。デフォルトは 30 秒です。タイムアウトを無効にするには 0 を渡します。デフォルト値は、androidDevice.setDefaultTimeout() メソッドを使用して変更できます。

戻り値


webViews

追加: v1.9 androidDevice.webViews

現在開いている WebView。

使用法

androidDevice.webViews();

戻り値


プロパティ

input

追加: v1.9 androidDevice.input

使用法

androidDevice.input


イベント

on('close')

v1.28 で追加 androidDevice.on('close')

デバイス接続が閉じられたときに発生します。

使用法

androidDevice.on('close', data => {});

イベントデータ


on('webview')

追加: v1.9 androidDevice.on('webview')

新しい WebView インスタンスが検出されたときに発生します。

使用法

androidDevice.on('webview', data => {});

イベントデータ