概要

セレクターは、要素と対話したり、要素を使用してアサーションを実行する前に、要素を見つけるための基礎です。Nightwatchは、要素の特定に使用できる次のセレクター戦略をサポートしています。

  • id
  • xpath

ID

これはネイティブ要素のIDです。つまり、Androidではresource-id、iOSではnameです。コードベースにアクセスできない場合でも、Appium Inspectorツールを使用してIDを簡単に検出できます。

Example of ID selector

強調表示された要素には、org.wikipedia:id/search_src_textというID値があります。

その要素と対話するには、セレクター戦略はid、セレクター文字列はorg.wikipedia:id/search_src_textになります。

XPath

IDに加えて、XPathを使用して要素を見つけることもできます。

Example of xPath selector

AppiumのXPathはアプリのXML構造を分析し、要素を特定します。XPathは、特定のUI要素にID、Name、またはアクセシビリティIDが割り当てられていない場合にのみ使用する必要があります。XPathでは複雑なクエリを作成できますが、公式ドキュメントで説明されているように、安定性とパフォーマンスの問題があるため、XPathの使用はお勧めしません。

n番目の要素の選択

Nightwatchセレクターは、文字列の代わりにセレクターオブジェクトを受け入れることもできます。これにより、より多くのオプションを提供できます。要素リストからn番目のインデックスにある要素を選択できます。たとえば、複数のリストアイテムを含むリストがある場合、セレクター文字列の代わりにセレクターオブジェクトを送信することで、n番目の要素を選択できます。

n番目の要素の選択
app.click({selector: 'org.wikipedia:id/page_list_item_title', locateStrategy: 'id', index: n})

セレクターを理解したので、それらを使用してコマンドとアサーションを作成できます。

コマンド
アサーション