ツールチップ(Tooltips)
| 利用頻度 | 難易度 |
|---|---|
| ★☆☆☆☆ | ★☆☆☆☆ |
このタブでは、ボタンやアイコンにマウスを乗せたときに表示される小さな説明文、「ツールチップ」について学びます。普段は便利なこの機能が、なぜ自動テストでは時々、予期せぬ問題を引き起こすのかを解説します。
ちなみに、ツールチップの表示自体を自動テストで確認することは、ほとんどありません。自動テストは、ユーザーの主要な操作や、ビジネスの根幹に関わる「機能」が正しく動くかを優先してチェックする(リスクベースドテスト)のが基本だからです。
自動テストで起きる「ツールチップ問題」
実際の現場で、**「手動で操作すると問題なくクリックできるボタンが、自動テストで実行した時だけ失敗する」**という現象が起きることがあります。
コードは正しく、ボタンも確かに画面に存在しているのに、なぜかクリックが妨害されてしまうのです。
原因は「実行速度」の違い
この問題の多くは、ツールチップが原因です。
🤖 自動テストの動き(超高速)
- Playwrightがマウスカーソルをボタンの上に移動させます
- その瞬間に、ツールチップが表示されます
- Playwrightは、ツールチップが消えるのを待たずに、超高速でクリックを実行します
- 結果として、ボタンではなく、その上に一瞬だけ重なっていたツールチップをクリックしてしまい、テストが失敗します
👤 人間の動き(ゆっくり)
- 私たちが手で操作する場合、マウスをボタンの上に乗せてから実際にクリックするまでには、コンマ数秒の間があります
- その間にツールチップは自然と消えるため、私たちは問題なくボタン本体をクリックできます
速度の違いを図解
🤖 自動テスト
移動 → 表示 → クリック
0.001秒(ツールチップが邪魔)
0.001秒(ツールチップが邪魔)
👤 人間
移動 → 表示 → 消える → クリック
0.5秒〜(自然と消える)
0.5秒〜(自然と消える)
まとめ
このように、人間とコンピュータの「実行速度」の違いによる自動テストへの影響は、ツールチップに限らず色々な画面で発生することがあります。
テストが失敗する原因は、必ずしも操作したい対象そのものにあるとは限りません。 時には、今回のように一瞬だけ現れて消える、別の要素が影響していることもあります。
この視点は、問題解決の際にきっと役立つはずです。