跳到內容

驅動程式:base-driver

createSession

POST /session

從前,前兩個引數是保留給 JSONWP 功能的。Appium 2 已不再支援這些功能,因此現在我們只接受 W3C 格式的功能物件,並允許三個引數中的任何一個代表後者。

請參閱

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 中所定義。

回應

any

getLog

POST /session/:sessionId/se/log

取得給定日誌類型的日誌。

參數

名稱 類型 說明
type 字串 日誌類型的名稱/金鑰,如 ILogCommands.supportedLogTypes 中所定義。

回應

any

getLogEvents

POST /session/:sessionId/appium/events

取得目前工作階段中發生的事件清單

參數

名稱 類型 說明
type? string | string[] 透過包含一種或多種類型來篩選回傳的事件

回應

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

回應

字串

使用適當平台格式的 UI 層級結構(例如網頁的 HTML)

getSessions

GET /sessions

取得在 Appium 伺服器上執行的所有工作階段資料

回應

工作階段資料物件清單。每個工作階段資料物件會以 id 和工作階段功能回傳,例如以下範例中的 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

使用新的設定物件更新工作階段的設定字典

參數

名稱 類型 說明
設定 設定 設定名稱對應值的鍵值對應。未在對應中命名的設定不會調整其值。

回應

null

getStatus

GET /status

摘要

擷取伺服器的目前狀態。

說明

傳回關於遠端終端是否處於可建立新工作階段的狀態,且可能包含實作特有的任意元資料。

準備狀態由主體的 ready 屬性表示,如果嘗試在目前時間建立工作階段會失敗,則為 false。然而,值 true 並不保證 New Session 指令會成功。

實作可選擇將額外的元資料包含在主體中,但頂層屬性 ready 和 message 是保留的,不得覆寫。

範例

JavaScript
// webdriver.io example
await driver.status();
Python
driver.get_status()
Java
driver.getStatus();
Ruby
# ruby_lib example
remote_status

# ruby_lib_core example
@driver.remote_status

回應

物件

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? 字串 | 數字 僅用於舊的 (JSONWP) 指令,逾時的毫秒數
script? 數字 用於 W3C 指令的腳本逾時毫秒數
pageLoad? 數字 用於 W3C 指令的網頁載入逾時毫秒數
implicit? 字串 | 數字 用於 W3C 指令的隱式等待逾時毫秒數

回應

null

implicitWait

POST /session/:sessionId/timeouts/implicit_wait

設定隱式等待逾時

已棄用

請改用 /session/:sessionId/timeouts 端點

改用 timeouts

參數

名稱 類型 說明
ms 字串 | 數字 逾時毫秒數

回應

null

logCustomEvent

POST /session/:sessionId/appium/log_event

將自訂名稱事件新增至 Appium 事件記錄檔

參數

名稱 類型 說明
vendor 字串 事件所屬廠商或工具的名稱,用於命名事件的命名空間
event 字串 事件本身的名稱

回應

null

reset

POST /session/:sessionId/appium/app/reset

重設目前的階段 (執行刪除階段和建立階段子常式)

已棄用

請使用各個驅動程式的啟動、啟用、終止或清除方法。

改用明確的階段管理指令

回應

null