Webアプリケーションのテストでは、CSSセレクターやXPathを使用して要素を選択する場面があります。

Autifyでシナリオをレコーディングする際は、CSSセレクターやXPathを意識する必要はありませんが、ロケータJSステップを使用する際にCSSセレクターやXPathを書く場面が発生します。

Google Chromeのデベロッパーツールを使用すると要素のCSSセレクターやXPathが簡単に取得出来ますが、デベロッパーツールで取得したCSSセレクターやXPathをそのままロケータやJSステップで使用すると上手くいかないケースがあります。

当記事では、安定するロケータの指定仕方を、主にXPathを用いた手法に絞って解説します。

CSSセレクターとXPathの違いと使い分け

ロケータやJSステップでCSSセレクターとXPathのどちらを使うべきか悩むことがあるかと思います。それぞれの違いと利点を理解することで、適切な選択が可能になります。

CSSセレクターとXPathの違い

どちらを使うべきか?

XPathを使う利点

XPathの利点は、CSSセレクターでは難しい親要素や兄弟要素を基準とした選択が可能である点です。また、特定のテキストを含む要素を選択するなど、複雑なロジックを使いたいときに便利です。

CSSセレクター/XPathの取得方法

ブラウザの開発者ツールを使うことで、簡単にCSSセレクターやXPathを取得できます。

  1. Chromeの場合、任意の要素を右クリックし、「検証」を選択します。
  2. 要素を右クリックして「Copy」>「Copy selector」や「Copy XPath」を選ぶことで、セレクターやXPathをコピーできます。