コンテンツにスキップ

セッション設定

Appiumには、セッション中に特定のセッションのパラメータを調整できる拡張APIのセットがあります。「設定」と呼ばれるこれらのパラメータはケーパビリティに似ていますが、ケーパビリティはセッション開始後に*調整できない*のに対し、設定はセッション中に*何度でも調整できます*。

設定の概念には3つの重要なポイントがあります

  • 設定は変更可能です。設定APIを使用してセッション中に変更できます
  • 設定は、設定されたセッション中にのみ関連します。通常、新しいセッションごとにリセットされますが、ドライバーによっては、セッション間で一部の設定が持続する場合があります
  • 設定は、テスト自動化中にAppiumサーバーが動作する方法のみを調整します。テスト対象のデバイスやアプリには影響しません

設定の例としては、UiAutomator2ドライバーで認識される`ignoreUnimportantViews`設定が挙げられます。ドライバーは、ビュー階層内の無関係と見なされる要素を無視するように指示できます。この設定を`true`に変更すると、テストの実行速度が向上する可能性があります。ただし、同じセッションの後半で、この設定では無視される要素に*アクセスしたい*場合は、いつでも`false`に戻すことができます。

設定は、以下のAPIエンドポイントを介して実装されます

コマンド
メソッド/ルート
パラメータ 説明 戻り値
設定の更新 POST /session/:id/appium/settings `settings` (`Record<string, any>`) 指定された設定値を更新します null
設定の取得 GET /session/:id/appium/settings null `settings` (`Record<string, any>`)

現在の設定を返します

`settings`オブジェクトは、キーと値のセットである必要があります。キーは設定名、値はその設定の有効な値です。

情報

ケーパビリティによる設定の初期化

デフォルト以外の状態で設定を使用してAppiumセッションを開始する場合は、適切な値を持つ`appium:settings[<name>]`形式のケーパビリティを含めることでこれを行うことができます。そのため、セッションの最初から上記の`ignoreUnimportantViews`設定を有効にするには、JSON表現に以下を含むケーパビリティのセットを作成します

{
    "appium:settings[ignoreUnimportantViews]": true
}

また、Appium 2.1以降では、単一の`appium:settings`ケーパビリティ値に複数の設定を提供することが可能です

{
    "appium:settings": {
        "ignoreUnimportantViews": true,
        "allowInvisibleElements": true
    }
}

もちろん、ケーパビリティを使用して設定を初期化しても、後で設定APIを介して設定を変更することはできません。特定のクライアントライブラリのコンテキストで設定APIを使用する方法の詳細については、そのクライアントのドキュメントを参照してください。