驅動程式: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¶
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? |
字串 | 數字 |
僅用於舊的 (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