自動テストチュートリアル

Playwright、Seleniumなどの自動テストツールを学ぼう

ボタン(Button)

テキスト入力の次は「ボタンのクリック」に挑戦します。

利用頻度 難易度
★★★★★ ★☆☆☆☆

Playwrightを使って、ボタンを自動でクリックする方法を学びます。これも、自動テストで最も基本かつ、最もよく使う処理です。フォームの送信や、メニューの表示など、Webサイト上のあらゆるアクションは、このクリック操作から始まります。


今回使用するコマンド:click()

click() は、ボタンやリンクなど、クリックできる要素を自動で押してくれる命令(コマンド)です。fill() とは違い、() の中に値を入れる必要はありません。

基本的な書き方

await page.[ここにPick locatorで取得したコード].click();

具体例

// 「#submitButton」というIDを持つボタンをクリックする場合
await page.locator("#submitButton").click();

ポイント

  • click の後ろに () を付け忘れないように注意してください
  • もし付け忘れると、ボタンがクリックされないのにエラーも出ず、テストがそのまま進んでしまうため、問題の原因を見つけるのが非常に難しくなります

やってみよう

以下の手順に沿って、「Click Me」と書かれたボタンをクリックするテストコードを完成させてください。

演習ファイル

tests/document-2/lesson-02.spec.ts

行う操作

項目 操作
Click Me 押下する

手順動画


手順

  1. ファイルを開く: VSCodeで、上記の演習ファイルを開きます
  2. ブレークポイントで一時停止: コードを書きたい場所の少し手前にブレークポイント(赤い丸印)を設定して、デバッグモードでテストを実行して、目的の画面で一時停止させます
  3. Pick locatorで要素を特定: 「Pick locator」を使って、「Click Me」と書かれたボタンをクリックし、その要素を特定するためのコードを取得します
  4. コードを書く: 取得したコードと、先ほど学んだ click() を組み合わせて、クリック処理を完成させます
  5. 最終確認: ブレークポイントを全て外し、もう一度テストを実行します。緑色の「passed」が表示されたら、課題は完了です!

ちなみに...

この課題ではダブルクリック右クリックについては扱いません。

実務でも使用する機会がほぼないため、今回は割愛しています。

ただし、Playwrightでは以下のように記述することで、それぞれの操作を実行することができます。

ダブルクリックしたい場合

await page.locator('#userName').dblclick();

右クリックしたい場合

await page.locator('セレクタ').click({ button: 'right' });