14
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Playwrightで始めるテスト自動化(1. 環境構築編)

Last updated at Posted at 2023-03-29

はじめに

現在、 Playwright を使用したテスト自動化環境の構築対応をしております。
対応を通して得た知見が溜まってきたので、今回記事にまとめていきたいと思います。

4つの記事に分けてまとめていく予定です。

  1. 環境構築編 ← 今回の記事
  2. テスト実装編
  3. VisualRegressionTest 導入編
  4. Docker 環境構築編

VisualRegressionTest の導入や Docker 環境の構築ではハマることが多かったので、
どのような問題に直面し、どう解決したかを紹介できればと思っております。

Playwright とは

Playwright とは、Microsoft が中心となって開発をしている OSS のブラウザテスト自動化フレームワークです。
Chromium ( Chrome / Edge )、Firefox、 Webkit ( Safari ) が 1 つの API で実行できるため、クロスブラウザでのテストが容易に行えます。
GoogleChrome for Android や Mobile Safari の デバイスエミュレーションを使用して SP 版のテストを行うことも可能です。

バージョン

本記事では以下バージョンでの動作を記載しております。

  • Node.js : v18.15.0
  • npm : v9.5.0
  • Playwright : 1.32

端末はM1 Macを使用しております。

インストール

前提条件: Node.js と npm を事前にインストールしておいてください。

npm, yarn, pnpm を使用して Playwright をインストールすることができます。
本記事では npm を使用してインストールを行なっていきます。

 $ npm init playwright@latest

インストールコマンドを実行すると以下の選択肢が表示されます。
こちらは使用される環境に併せて選択すれば OK です。
本記事では以下のように設定しております。

 # TypeScript か JavaScript のどちらかを選択する
 ✔ Do you want to use TypeScript or JavaScript? · TypeScript

 # e2e テストファイルが格納されるフォルダの名前
 ✔ Where to put your end-to-end tests? · tests

 # GitHub Actions のワークフローを追加するか
 ✔ Add a GitHub Actions workflow? (y/N) · false

 # Playwright で使用するブラウザをインストールするか
 ✔ Install Playwright browsers (can be done manually via 'npx playwright install')? (Y/n) · true 

Happy hacking! 🎭 がターミナルに出力されたらインストール完了となります。

インストールが完了すると以下のようなディレクトリ構成になります。

 │── node_modules
 │── tests
 │   └── example.spec.ts       # 基本的なサンプルテスト
 │── tests-examples
 │   └── demo-todo-app.spec.ts # ToDoアプリをテストするための詳細なサンプルテスト
 │── .gitignore
 │── package-lock.json
 │── package.json
 └── playwright.config.ts      # 実行するブラウザの変更など Playwright の設定を追加するファイル

サンプルテストの実行

tests ディレクトリ配下にあるサンプルテスト example.spec.ts を実行してみましょう。
以下のコマンドでテストを実行することができます。

 $ npx playwright test

デフォルトでは、Chromium, Firefox, Webkit のブラウザすべてでテストが実行されます。
この設定は playwright.config.ts で変更することができます。

また、実行時のオプションでブラウザを指定することも可能です。

 # chromium ブラウザのみでテストが実行されます。
 $ npx playwright test --project=chromium

テストはヘッドレスモードで実行されるためブラウザは開きません。
実行時のオプション追加でブラウザが開かれた状態でテストを実行することができます。

 $ npx playwright test --headed

テストレポート

テストの実行が完了すると HTML レポートが作成されます。
playwright-report / index.html

以下のコマンドを実行することで HTML レポートを確認することができます。

 $ npx playwright show-report

デフォルトのレポーター設定が html になっているため、 HTML レポートが出力されます。
この設定は playwright.config.ts で変更することができます。

また、実行時のオプションでレポーターを指定することも可能です。

 # ターミナルに結果が出力される
 $ npx playwright test --reporter=list

次回予告: 2. テスト実装編

Playwright の環境構築ができたので、次回はテストの実装について記載していきたいと思います。
様々な Locators や Assertions を使用したサンプルテストを実装しようと考えております。

14
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?