ドライバ: base-driver¶
createSession¶
POST /session
従来、最初の2つの引数はJSONWP機能用に予約されていました。Appium 2ではこれらのサポートが廃止されたため、現在はW3C形式の機能オブジェクトのみを受け入れ、そのため3つの引数のいずれでも後者を表すことができます。
参照
https://w3c.github.io/webdriver/#new-session
パラメータ¶
| 名前 | 型 | 説明 | 
|---|---|---|
| desiredCapabilities? | W3CDriverCaps<C> | 新しいセッション機能 | 
| requiredCapabilities? | W3CDriverCaps<C> | 新しいセッション機能を送信できる別の場所(通常は未定義のまま) | 
| capabilities? | W3CDriverCaps<C> | 新しいセッション機能を送信できる別の場所(通常は未定義のまま) | 
レスポンス¶
CreateResult
作成されたセッションを表す機能オブジェクト
deleteSession¶
DELETE /session/:sessionId
セッションとイベント履歴(該当する場合)の機能を返します。
レスポンス¶
SingularSessionData<C, SessionData>
セッションデータオブジェクト
getSession¶
GET /session/:sessionId
セッションとイベント履歴(該当する場合)の機能を返します。
レスポンス¶
SingularSessionData<C, SessionData>
セッションデータオブジェクト
findElement¶
POST /session/:sessionId/element
ロケータ戦略とセレクタを指定してUI要素を検索し、見つからない場合はエラーを返します。
参照
https://w3c.github.io/webdriver/#find-element
パラメータ¶
| 名前 | 型 | 説明 | 
|---|---|---|
| using | 文字列 | ロケータ戦略 | 
| value | 文字列 | 特定の要素を見つけるために戦略と組み合わせるセレクタ | 
レスポンス¶
Element<string>
要素関連のコマンドで使用できる要素IDをエンコードした要素オブジェクト
findElementFromElement¶
POST /session/:sessionId/element/:elementId/element
ロケータ戦略とセレクタを指定してUI要素を検索し、見つからない場合はエラーを返します。指定された要素の子孫の集合の中でのみ要素を検索します。
参照
https://w3c.github.io/webdriver/#find-element-from-element
パラメータ¶
| 名前 | 型 | 説明 | 
|---|---|---|
| using | 文字列 | ロケータ戦略 | 
| value | 文字列 | 特定の要素を見つけるために戦略と組み合わせるセレクタ | 
レスポンス¶
Element<string>
要素関連のコマンドで使用できる要素IDをエンコードした要素オブジェクト
findElementFromShadowRoot¶
POST /session/:sessionId/shadow/:shadowId/element
シャドウルートから要素を検索します。
参照
https://w3c.github.io/webdriver/#find-element-from-shadow-root
パラメータ¶
| 名前 | 型 | 説明 | 
|---|---|---|
| using | 文字列 | ロケータ戦略 | 
| value | 文字列 | 特定の要素を見つけるために戦略と組み合わせるセレクタ | 
レスポンス¶
Element<string>
セレクタに一致するシャドウルート内の要素
findElements¶
POST /session/:sessionId/elements
ロケータ戦略とセレクタを指定して、一致するすべてのUI要素のリストを検索します。
参照
https://w3c.github.io/webdriver/#find-elements
パラメータ¶
| 名前 | 型 | 説明 | 
|---|---|---|
| using | 文字列 | ロケータ戦略 | 
| value | 文字列 | 特定の要素を見つけるために戦略と組み合わせるセレクタ | 
レスポンス¶
Element<string>[]
空の可能性もある要素オブジェクトのリスト
findElementsFromElement¶
POST /session/:sessionId/element/:elementId/elements
ロケータ戦略とセレクタを指定して、一致するすべてのUI要素のリストを検索します。指定された要素の子孫の集合の中でのみ要素を検索します。
参照
https://w3c.github.io/webdriver/#find-elements-from-element
パラメータ¶
| 名前 | 型 | 説明 | 
|---|---|---|
| using | 文字列 | ロケータ戦略 | 
| value | 文字列 | 特定の要素を見つけるために戦略と組み合わせるセレクタ | 
レスポンス¶
Element<string>[]
空の可能性もある要素オブジェクトのリスト
findElementsFromShadowRoot¶
POST /session/:sessionId/shadow/:shadowId/elements
シャドウルートから要素を検索します。
参照
https://w3c.github.io/webdriver/#find-element-from-shadow-root
パラメータ¶
| 名前 | 型 | 説明 | 
|---|---|---|
| using | 文字列 | ロケータ戦略 | 
| value | 文字列 | 特定の要素を見つけるために戦略と組み合わせるセレクタ | 
レスポンス¶
Element<string>[]
セレクタに一致するシャドウルート内の要素の空の可能性もあるリスト
getLog¶
POST /session/:sessionId/log
指定されたログタイプのログを取得します。
非推奨
代わりに/session/:sessionId/se/logエンドポイントを使用してください。
パラメータ¶
| 名前 | 型 | 説明 | 
|---|---|---|
| type | 文字列 | ILogCommands.supportedLogTypesで定義されているログタイプの名前/キー。 | 
レスポンス¶
任意
getLog¶
POST /session/:sessionId/se/log
指定されたログタイプのログを取得します。
パラメータ¶
| 名前 | 型 | 説明 | 
|---|---|---|
| type | 文字列 | ILogCommands.supportedLogTypesで定義されているログタイプの名前/キー。 | 
レスポンス¶
任意
getLogEvents¶
POST /session/:sessionId/appium/events
現在のセッションで発生したイベントのリストを取得します。
パラメータ¶
| 名前 | 型 | 説明 | 
|---|---|---|
| type? | string|string[] | 1つ以上のタイプを含めることで、返されるイベントをフィルタリングします。 | 
レスポンス¶
EventHistory | Record<string, number>
セッションのイベント履歴
getLogTypes¶
GET /session/:sessionId/log/types
利用可能なログタイプを文字列のリストとして取得します。
非推奨
代わりに/session/:sessionId/se/log/typesエンドポイントを使用してください。
レスポンス¶
文字列[]
getLogTypes¶
GET /session/:sessionId/se/log/types
利用可能なログタイプを文字列のリストとして取得します。
レスポンス¶
文字列[]
getPageSource¶
GET /session/:sessionId/source
現在のページ/アプリのソースをHTML/XMLとして取得します。
参照
https://w3c.github.io/webdriver/#get-page-source
レスポンス¶
文字列
プラットフォームに適した形式(例:ウェブページの場合はHTML)でのUI階層。
getSessions¶
GET /sessions
Appiumサーバーで実行されているすべてのセッションのデータを取得します。
レスポンス¶
セッションデータオブジェクトのリスト。各セッションデータオブジェクトは、下記の例のようにidとセッションのcapabilitiesをcapabilitiesキーとして返されます。
[
  {
    "id":"ba30c6da-c266-4734-8ddb-c16f5bb53e16",
    "capabilities":{ "platformName":"ios","browserName":"safari","automationName":"xcuitest","platformVersion":"17.2","deviceName":"iPhone 15" }
  },
  {
    "id":"1441110c-1ece-4e45-abbf-ebf404f45f0a",
    "capabilities":{ "platformName":"ios","browserName":"safari","automationName":"xcuitest","platformVersion":"17.0","deviceName":"iPhone 14" }
  },
  ...
]
getSettings¶
GET /session/:sessionId/appium/settings
セッションの設定辞書を新しい設定オブジェクトで更新します。
レスポンス¶
null
updateSettings¶
POST /session/:sessionId/appium/settings
セッションの設定辞書を新しい設定オブジェクトで更新します。
パラメータ¶
| 名前 | 型 | 説明 | 
|---|---|---|
| settings | 設定 | 設定名と値のキーバリューマップ。マップに名前がない設定は値が調整されません。 | 
レスポンス¶
null
getStatus¶
GET /status
概要
サーバーの現在の状態を取得します。
説明
リモートエンドが新しいセッションを作成できる状態にあるかどうかに関する情報を返し、実装に固有の任意のメタ情報を含めることができます。
準備状態は、本文のreadyプロパティで表されます。現在の時点でセッションの作成を試みると失敗する場合はfalseです。ただし、trueの値は、New Sessionコマンドが成功することを保証するものではありません。
実装では、オプションで追加のメタ情報を本文の一部として含めることができますが、最上位のプロパティreadyとmessageは予約されており、上書きすることはできません。
例¶
JavaScript¶
Python¶
Java¶
Ruby¶
レスポンス¶
オブジェクト
getTimeouts¶
GET /session/:sessionId/timeouts
セッションに関連付けられた様々なタイムアウトを設定します。
参照
https://w3c.github.io/webdriver/#set-timeouts
レスポンス¶
null
timeouts¶
POST /session/:sessionId/timeouts
セッションに関連付けられた様々なタイムアウトを設定します。
参照
https://w3c.github.io/webdriver/#set-timeouts
パラメータ¶
| 名前 | 型 | 説明 | 
|---|---|---|
| type? | 文字列 | 古い(JSONWP)コマンドでのみ使用されます。タイムアウトの種類。 | 
| ms? | string|number | 古い(JSONWP)コマンドでのみ使用されます。タイムアウトのミリ秒数。 | 
| script? | number | スクリプトタイムアウトのミリ秒数(W3Cコマンドで使用)。 | 
| pageLoad? | number | pageLoadタイムアウトのミリ秒数(W3Cコマンドで使用)。 | 
| implicit? | string|number | 暗黙的な待機タイムアウトのミリ秒数(W3Cコマンドで使用)。 | 
レスポンス¶
null
implicitWait¶
POST /session/:sessionId/timeouts/implicit_wait
暗黙的な待機タイムアウトを設定します。
非推奨
代わりに/session/:sessionId/timeoutsエンドポイントを使用してください。
timeoutsを使用してください。
パラメータ¶
| 名前 | 型 | 説明 | 
|---|---|---|
| ms | string|number | タイムアウト(ミリ秒)。 | 
レスポンス¶
null
logCustomEvent¶
POST /session/:sessionId/appium/log_event
Appiumイベントログにカスタム名前のイベントを追加します。
パラメータ¶
| 名前 | 型 | 説明 | 
|---|---|---|
| vendor | 文字列 | イベントが属するベンダーまたはツールの名前(イベントの名前空間化用)。 | 
| event | 文字列 | イベント自体の名前。 | 
レスポンス¶
null
reset¶
POST /session/:sessionId/appium/app/reset
現在のセッションをリセットします(セッションの削除とセッション作成サブルーチンを実行します)。
非推奨
各ドライバの起動、アクティブ化、終了、またはクリーンアップメソッドを使用してください。
明示的なセッション管理コマンドを使用してください。
レスポンス¶
null