跳至内容

驱动程序: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
// 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? 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