概觀

選擇器是尋找元素的核心,您必須先找到元素,才能使用它們進行互動或斷言。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})

既然您已了解選擇器,就可以使用它們來撰寫指令和斷言。

指令
斷言