概述

选择器是查找元素的核心,在您可以与它们交互或使用它们进行断言之前,您需要先找到它们。Nightwatch 支持以下选择器策略,这些策略可以用于定位您的元素

  • id
  • xpath

ID

这是本机元素 ID,即 Android 上的 resource-id 和 iOS 上的 name 。即使您没有访问代码库的权限,也可以使用 Appium Inspector 工具非常轻松地找到 ID。

Example of ID selector

如您所见,突出显示的元素的 ID 值为 org.wikipedia:id/search_src_text

要与该元素交互,选择器策略将是 id,选择器字符串将是 org.wikipedia:id/search_src_text

XPath

除了 ID 之外,您还可以使用 XPath 来定位元素。

Example of xPath selector

Appium 中的 Xpath 分析应用程序的 XML 结构,然后定位元素。当特定 UI 元素没有分配 ID、名称或辅助功能 ID 时,才应使用 Xpath。虽然 XPath 允许制定复杂的查询,但建议不要使用 XPath,因为它存在稳定性和性能问题(如 官方文档 中所述)。

选择第 n 个元素

Nightwatch 选择器还接受 选择器对象 而不是字符串,其中可以提供更多选项。您可以从元素列表中选择第 n 个元素。例如,如果您有一个包含多个列表项的列表,您可以通过发送选择器对象而不是选择器字符串来选择第 n 个元素。

选择第 n 个元素
app.click({selector: 'org.wikipedia:id/page_list_item_title', locateStrategy: 'id', index: n})

现在您已经了解了选择器,您可以使用它们来编写命令 & 断言。

命令
断言