Pick locatorと検証ツールによる要素の違い
2つのツール「Pick locator」と「検証ツール」を学びました。
Pick locatorとブラウザの「検証ツール」は、どちらも要素を見つける道具ですが、その探し方の「考え方(哲学)」が根本的に違います。
この違いを、部屋にいる「田中さん」を探す方法に例えてみましょう。
2つのツールの比較
| 比較ポイント | Pick locator(ユーザー目線) | 検証ツール(開発者目線) |
|---|---|---|
| 探し方の基本 | 役割や意味で探す | 見た目や固有IDで探す |
| 「田中さん」の探し方 | 「『部長』という役職で、名札が『田中』の人」 | 「『青いスーツ』を着て、『社員番号123』の席にいる人」 |
| 長所 | デザイン変更に強い(スーツの色や席が変わっても見つけられる) | ピンポイントで指定できる |
| 短所 | (特になし) | デザイン変更に弱い(スーツの色が変わると見失う) |
コードの例
Pick locator(ユーザー目線)
page.getByRole('button', { name: 'ログイン' })
「ボタンという役割で、ログインという名前のもの」という意味で探しています。
検証ツール(開発者目線)
page.locator('.blue-suit')
// または
page.locator('#employee-123')
「このクラス名」「このID」という見た目や固有の識別子で探しています。
Pick locatorが locator を使うときもあります
Pick locatorも、どうしても「役割」や「意味」で見つけられない要素があった場合の最終手段として、locator を使った方法を提案してくることがあります。
Pick locatorは、まず getByRole などの一番良い方法を探し、それが無理な場合に、仕方なく locator を使った方法を提案してくれる賢いツールです。
まとめ
| ツール | 探し方 | 安定性 |
|---|---|---|
| Pick locator | 役割・意味ベース | 高い(変更に強い) |
| 検証ツール | ID・クラスベース | 低い(変更に弱い) |
基本は Pick locator を使い、必要に応じて検証ツールで確認する、という使い分けがおすすめです。