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

スワイプ

デスクトップ/モバイルWebおよびモバイルネイティブアプリのビューポートまたは要素内で特定の方向にスワイプします。

情報

モバイルネイティブアプリでのスワイプはW3C-actionsプロトコルに基づいており、指の押下と移動をシミュレートします。 これはAndroid向けのmobile: scrollGesture またはiOS向けのmobile: scrollコマンドとは異なります。後者はAppium Driverプロトコルに基づいており、 NATIVEコンテキストのモバイルプラットフォームでのみ利用可能です。

このコマンドは以下の最新コンポーネントでのみ動作します:

  • Appiumサーバー(バージョン2.0.0以上)
  • appium-uiautomator2-driver(Android用)
  • appium-xcuitest-driver(iOS用)

互換性の問題を避けるため、ローカルまたはクラウドベースのAppium環境を定期的に更新してください。

座標に基づくスワイプ

絶対に必要でない限り、fromtoオプションの使用は避けてください。これらはデバイス固有のものであり、デバイス間で一貫して動作しない可能性があります。 要素内で信頼性の高いスワイプを行うには、scrollableElementオプションを使用してください。

パラメータ
名前タイプ詳細
options
オプション
object, booleanbrowser.swipe()のオプション。デスクトップ/モバイルWebのデフォルト:
{ direction: 'up', duration: 1500, percent: 0.95, scrollableElement: WebdriverIO.Element }
options.direction
オプション
stringdownupleftまたはrightのいずれか、デフォルトはup
モバイルネイティブアプリのみ
下方向
開始点:
画面の上部付近に指を置きます。
動き:
指を下方向に画面の下部へスライドさせます。
動作:
コンテキストによって異なります:
- ホーム画面やアプリケーションでは、通常コンテンツを上に向かってスクロールします。
- 上端からは、通知パネルやクイック設定を開くことが多いです。
- ブラウザや読書アプリでは、コンテンツをスクロールするために使用できます。
左方向
開始点:
画面の右側に指を置きます。
動き:
指を水平に左側へスライドさせます。>
動作:
このジェスチャーへの反応はアプリケーションによって異なります:
- カルーセルや一連の画像の次の項目に移動できます。
- ナビゲーションコンテキストでは、前のページに戻ったり、現在のビューを閉じたりする場合があります。
- ホーム画面では、通常次の仮想デスクトップや画面に切り替わります。
右方向
開始点:
画面の左側に指を置きます。
動き:
指を水平に右側へスライドさせます。
動作:
左にスワイプするのと似ていますが、方向が逆です:
-- カルーセルやギャラリーの前の項目に移動することが多いです。
- アプリのサイドメニューやナビゲーションドロワーを開くために使用できます。
- ホーム画面では、通常前の仮想デスクトップに切り替わります。
上方向
開始点:
画面の下部付近に指を置きます。
動き:
指を上方向に画面の上部へスライドさせます。>
動作:
コンテキストによって異なるアクションが発生する可能性があります:
- ホーム画面やリストでは、通常コンテンツを下にスクロールします。
- 全画面アプリでは、追加オプションやアプリドロワーを開く場合があります。
- 特定のインターフェースでは、「更新」アクションをトリガーしたり、検索バーを開いたりする可能性があります。
options.duration
オプション
numberスワイプの持続時間(ミリ秒)。デフォルトは1500ミリ秒です。値が小さいほど、スワイプは速くなります。
options.scrollableElement
オプション
Elementスワイプする対象の要素。要素が提供されない場合、iOSでは -ios predicate string:type == "XCUIElementTypeApplication"、Androidでは //android.widget.ScrollView' というセレクタが使用されます。デフォルトのセレクタに複数の要素が一致する場合、デフォルトでは最初に一致する要素が選択されます。
モバイルネイティブアプリのみ
options.percent
オプション
numberスワイプする(デフォルトの)スクロール可能要素の割合。これは0から1までの値です。デフォルトは0.95です。
絶対に画面の上|下|左|右端からスワイプしないでください。通知バーなどのOS/アプリ機能がトリガーされ、予期しない結果を招く可能性があります。
fromtoが提供される場合、これは効果がありません。
以下の値はscrollableElementが提供されていない場合のみ効果があります。それ以外の場合は無視されます。
options.from
オプション
objectスワイプの開始位置のx座標とy座標。scrollableElementが提供されている場合、これらの座標は効果がありません。
options.from.x
オプション
numberスワイプの開始位置のx座標。
options.from.y
オプション
numberスワイプの開始位置のy座標。
options.to
オプション
objectスワイプの終了位置のx座標とy座標。scrollableElementが提供されている場合、これらの座標は効果がありません。
options.to.x
オプション
numberスワイプの終了位置のx座標。
options.to.y
オプション
numberスワイプの終了位置のy座標。
swipe.js
it('should execute a default swipe', async () => {
// Default will be a swipe from the bottom to the top, meaning it will swipe UP
await browser.swipe();
});

swipe.with.options.js
it('should execute a swipe with options', async () => {
await browser.swipe({
direction: 'left', // Swipe from right to left
duration: 5000, // Last for 5 seconds
percent: 0.5, // Swipe 50% of the scrollableElement
scrollableElement: $('~carousel'), // The element to swipe within
})
});

Welcome! How can I help?

WebdriverIO AI Copilot