会话设置
Appium 有一组扩展 API,允许您在会话期间调整给定会话的参数。这些参数称为“设置”,类似于 功能,但功能在会话开始后无法调整,而设置在会话过程中可以随时调整任意次数。
设置的概念有 3 个重要要点
- 设置是可变的;它们可以使用设置 API 在会话期间更改
- 设置仅在设置它们的会话期间相关。它们通常在每个新会话中重置,尽管根据驱动程序的不同,某些设置可能会在会话之间保留
- 设置仅调整 Appium 服务器在测试自动化期间的行为方式。它们不会影响正在测试的设备或应用程序
设置的一个示例是 UiAutomator2 驱动程序识别的 ignoreUnimportantViews
设置。可以指示驱动程序忽略它认为不相关的视图层次结构中的元素。将此设置更改为 true
会导致测试运行得更快。但是,如果您在同一会话的后期想要访问在此设置下会被忽略的元素,您始终可以将其更改回 false
。
设置通过以下 API 端点实现
命令 | 方法/路由 |
参数 | 描述 | 返回 |
---|---|---|---|---|
更新设置 |
POST /session/:id/appium/settings |
settings (Record<string, any> ) |
更新提供的设置值 | null |
获取设置 |
GET /session/:id/appium/settings |
返回当前设置 | settings (Record<string, any> ) |
settings
对象必须是一组键值对,其中键是设置名称,值是该设置的任何记录的有效值。
信息
设置是特定于驱动程序的,因此请参阅您的驱动程序文档以获取支持的设置列表
通过功能初始化设置¶
如果您想使用非默认状态的设置启动 Appium 会话,您可以通过包含形式为 appium:settings[<name>]
的功能以及适当的值来实现。因此,要从会话一开始就打开上面提到的 ignoreUnimportantViews
设置,您将构建一组包含以下内容的 JSON 表示形式的功能
此外,从 Appium 2.1 开始,可以在单个 appium:settings
功能值中提供多个设置
当然,通过功能初始化设置不会阻止您稍后通过设置 API 更改它。要了解如何在特定客户端库的上下文中使用设置 API,请访问该客户端的文档。