セッション設定
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 2.1以降では、単一の`appium:settings`ケーパビリティ値に複数の設定を提供することが可能です
もちろん、ケーパビリティを使用して設定を初期化しても、後で設定APIを介して設定を変更することはできません。特定のクライアントライブラリのコンテキストで設定APIを使用する方法の詳細については、そのクライアントのドキュメントを参照してください。