Playwrightのあるきかた ~ゼロから始めるE2Eテスト~

Playwrightのあるきかた ~ゼロから始めるE2Eテスト~
著者
ゆずねり
イラスト
かなめえり
デザイン
水素
発売日
判型
B5
ページ数
68ページ

基本情報

近年、ウェブアプリケーションはますます重要性を増しており、開発の効率化と品質向上のためにはE2Eテストが欠かせなくなってきました。 本書は2020年と比較的最近リリースされた、Playwrightの使い方を説明します。

PlaywrightはJavaScriptで記述されたコードを実行することで、Chrome、Firefox、Safariを自在に操作できます。 ウェブブラウザを自動操作するツールとして、シンプルさと高い信頼性、コードの可読性を兼ね備えています。

本書ではPlaywrightをはじめてさわる方が、導入からE2Eテストを書けるようになるまでの基本的な使い方を解説します。

目次

  • 第1章 ウェブブラウザを自動操作する技術
    • なぜウェブブラウザを自動操作するのか
    • ウェブブラウザの種類
    • ウェブブラウザを操作するツール
    • ウェブサイトから見たフルブラウザとヘッドレスブラウザの違い
  • 第2章 Playwrightのインストール
    • ネイティブ環境で使用する場合
      • インストール時に作成されるファイル
    • Docker環境で使用する場合
    • Playwrightのアップデート
    • 実行テスト
  • 第3章 Playwright API
    • Playwrightの始め方
      • ウェブブラウザを起動
      • ページを作成
      • ページを移動
      • ページ内の要素に対して処理
      • ウェブブラウザを閉じる
    • レスポンス
      • すべてのヘッダー情報を取得する
      • 特定のヘッダー情報を取得する
      • HTTPステータスを取得する
      • HTML全文を取得する
    • Locator
      • ロールで探す
      • テキストで探す
      • ラベルで探す
      • プレースホルダーで探す
      • 画像の代替テキストで探す
      • 補足情報で探す
      • テストIDで探す
      • CSSまたはXPathで探す
      • 楽にLocatorを生成する
    • Locator演算子
      • メソッドチェーン
      • 2つのLocatorのうち両方に一致
      • 2つのLocatorのうち片方に一致
    • 複数ある要素の選択
      • 任意の位置にある要素を選択する
      • 指定のテキストを含むフィルタリング
      • 指定のテキストを含まないフィルタリング
      • 子孫要素に別のLocatorを含むフィルタリング
      • 子孫要素に別のLocatorを含まないフィルタリング
    • 要素内の中身を取得
      • HTMLを取得する
      • テキストを取得する
    • スクリーンショット
      • Locatorで選択した要素のスクリーンショット
      • ビューポート内のスクリーンショット
      • ページ全体のスクリーンショット
    • マウスの操作
      • マウスクリックを行う
    • キーボードの操作
      • キー入力を行う
    • フォーム要素への操作
      • テキストフォームに入力されているテキストの取得
      • テキストフォームへテキストの入力
      • テキストフォームのテキストを削除
      • チェックボックス・ラジオボタンをオンにする
      • チェックボックスをオフにする
      • セレクトボックスを選択する
      • ファイルをアップロードする
    • ダイアログ
    • クッキー
      • クッキーを取得する
      • クッキーを削除する
      • クッキーを追加する
  • 第4章 Playwright E2Eテスト
    • テストの始め方
      • テストの実行
      • UIモードでデバッグを行う
      • トレースビューアーでデバッグを行う
      • テストするウェブブラウザを変更する
    • アサーション
      • ステータスコードが正常であることを確かめる
      • ページURLを確かめる
      • ページタイトルを確かめる
      • 要素のテキストを確かめる
      • 要素が表示されていることを確かめる
      • 要素が表示されていないことを確かめる
      • 要素に属性があることを確かめる
      • 要素にIDが定義されていることを確かめる
      • 要素にクラスが定義されていることを確かめる
      • DOMのノード数を確かめる
      • フォームのValueを確かめる
      • セレクトボックスのValueを確かめる
      • チェックボックス・ラジオボタンがオンになっていることを確かめる
      • 要素の有効(enabled)であることを確かめる
      • 要素の無効(disabled)であることを確かめる
      • 要素が編集可能(editable)であることを確かめる
      • スナップショットテスト
      • アサーションを否定する
    • テスト前処理、後処理を行う
      • テストケースごとに前処理、後処理を行う
      • テストファイルごとに前処理、後処理を行う
      • プロジェクトごとに前処理、後処理を行う
      • 全テストで前処理、後処理を行う
      • 前処理、後処理の実行順番
    • クッキーやlocalStorageを共有する
      • クッキーやlocalStorageを保存する
      • 保存したクッキーやlocalStorageを使用する

サンプル

サンプルコード

サンプルサイト