驱动程序: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 |
string |
定位器策略 |
value |
string |
要与策略组合以查找特定元素的选择器 |
响应¶
Element
<string
>
元素对象,编码元素 ID,可在元素相关命令中使用
findElementFromElement
¶
POST
/session/:sessionId/element/:elementId/element
给定定位器策略和选择器查找 UI 元素,如果找不到则报错。仅在给定元素的后代集中查找元素
见
https://w3c.github.io/webdriver/#find-element-from-element
参数¶
名称 | 类型 | 描述 |
---|---|---|
using |
string |
定位器策略 |
value |
string |
要与策略组合以查找特定元素的选择器 |
响应¶
Element
<string
>
元素对象,编码元素 ID,可在元素相关命令中使用
findElementFromShadowRoot
¶
POST
/session/:sessionId/shadow/:shadowId/element
从影子根查找元素
见
https://w3c.github.io/webdriver/#find-element-from-shadow-root
参数¶
名称 | 类型 | 描述 |
---|---|---|
using |
string |
定位器策略 |
value |
string |
要与策略组合以查找特定元素的选择器 |
响应¶
Element
<string
>
影子根中与选择器匹配的元素
findElements
¶
POST
/session/:sessionId/elements
查找与给定定位器策略和选择器匹配的所有 UI 元素的列表
见
https://w3c.github.io/webdriver/#find-elements
参数¶
名称 | 类型 | 描述 |
---|---|---|
using |
string |
定位器策略 |
value |
string |
要与策略组合以查找特定元素的选择器 |
响应¶
Element
<string
>[]
一个可能为空的元素对象列表
findElementsFromElement
¶
POST
/session/:sessionId/element/:elementId/elements
查找与给定定位器策略和选择器匹配的所有 UI 元素的列表。仅在给定元素的后代集中查找元素
见
https://w3c.github.io/webdriver/#find-elements-from-element
参数¶
名称 | 类型 | 描述 |
---|---|---|
using |
string |
定位器策略 |
value |
string |
要与策略组合以查找特定元素的选择器 |
响应¶
Element
<string
>[]
一个可能为空的元素对象列表
findElementsFromShadowRoot
¶
POST
/session/:sessionId/shadow/:shadowId/elements
从影子根查找元素
见
https://w3c.github.io/webdriver/#find-element-from-shadow-root
参数¶
名称 | 类型 | 描述 |
---|---|---|
using |
string |
定位器策略 |
value |
string |
要与策略组合以查找特定元素的选择器 |
响应¶
Element
<string
>[]
影子根中与选择器匹配的可能为空的元素列表
getLog
¶
POST
/session/:sessionId/log
获取给定日志类型的日志。
已弃用
请改用 /session/:sessionId/se/log
端点
参数¶
名称 | 类型 | 描述 |
---|---|---|
type |
string |
日志类型的名称/键,如 ILogCommands.supportedLogTypes 中定义。 |
响应¶
any
getLog
¶
POST
/session/:sessionId/se/log
获取给定日志类型的日志。
参数¶
名称 | 类型 | 描述 |
---|---|---|
type |
string |
日志类型的名称/键,如 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
端点
响应¶
string
[]
getLogTypes
¶
GET
/session/:sessionId/se/log/types
获取可用日志类型,作为字符串列表
响应¶
string
[]
getPageSource
¶
GET
/session/:sessionId/source
获取当前页面/应用程序源作为 HTML/XML
见
https://w3c.github.io/webdriver/#get-page-source
响应¶
string
以平台适当的格式(例如,网页的 HTML)显示的 UI 层次结构
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
使用新的设置对象更新会话的设置字典
参数¶
名称 | 类型 | 描述 |
---|---|---|
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? |
string |
仅用于旧的 (JSONWP) 命令,超时的类型 |
ms? |
string | number |
仅用于旧的 (JSONWP) 命令,超时的毫秒数 |
script? |
number |
脚本超时的毫秒数,用于 W3C 命令 |
pageLoad? |
number |
页面加载超时的毫秒数,用于 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 |
string |
事件所属的供应商或工具的名称,用于对事件进行命名空间 |
event |
string |
事件本身的名称 |
响应¶
null
reset
¶
POST
/session/:sessionId/appium/app/reset
重置当前会话(运行删除会话和创建会话子例程)
已弃用
请使用每个驱动程序的启动、激活、终止或清理方法。
改用显式会话管理命令
响应¶
null