技術書同人誌博覧会

け-04

IT-開発-Web

Neln

チェックする
Playwrightのあるきかた ~E2Eテストの導入からCI構築まで~

新刊

同人誌・52ページ・20部頒布・紙/電子・1,500円
チェックする

Web E2Eテスト・スクレイピングツールのPlaywrightの解説本第2弾は、Playwrightとユニットテストの棲み分けと、前著で解説したロケーターを用いてより実践的なテストの書き方を解説する実践書です。
前半はテストの考え方を解説してます。ユニットテストとE2Eテストの比較をしたうえで、効率的なテスト方法を解説します。
後半はテストを書くうえでよくある認証周り、メール、位置情報やカメラといったさまざま状況下での書きかと、設定関係の解説をしています。

目次
第1章 テストの考えかた

  • テスト手法
    • ユニットテスト(単体テスト)
    • インテグレーションテスト(結合テスト)
    • E2Eテスト
  • テストピラミッド
  • テスト戦略
  • テストケースの構造化パターン
    • ユニットテストとArrange-Act-Assert
    • E2EテストとGiven-When-Then

第2章 テストテクニック

  • テストジェネレーターでテストコードを作ってみよう
    • ウェブブラウザを操作するコードの作成
    • 画面を検証するコードの作成
    • できたテストコードでテスト
  • プロジェクトを使いさまざまな環境でテスト
  • ロケーターを使い変更に強いテストを作成
  • 共通のコードをフィクスチャで管理
    • フィクスチャを作成
    • 既存のtest()を拡張
    • テストを実行
  • クッキーを共有して認証のテスト
    • セッション情報を保存
    • プロジェクト依存関係でセッションデータのやり取り
  • 視覚的なテスト
    • ビジュアルリグレッションテスト
    • スナップショットテスト
    • スナップショットの作成・更新
    • スナップショットの保存先
  • イベントの監視
    • リクエスト
    • レスポンス
    • 新しいタブやウィンドウ
    • ダイアログ
    • ファイルダウンロード
  • ネットワークハンドリング
    • リクエストの変更
    • レスポンスの変更
    • リクエストのブロック
  • メールのテスト
  • 位置情報のテスト
  • カメラやマイクのテスト
    • フェイクに使う動画や音声の準備
    • Chromeにフェイクファイルを設定
  • 並列実行
    • 直列で実行
    • 並列実行に耐えられるテストコードを作る

第3章 CIでもPlaywright

  • Playwrightが対応するCIサービス
  • GitHub ActionsでPlaywright
    • ネイティブ環境でテスト
    • Docker環境でテスト
    • Docker Compose環境でテスト
  • CI環境でのテスト状況を保存

第4章 Playwrightの設定

  • Playwrightの設定方法
    • 環境によって設定を使い分ける
  • 基本オプション
    • テスト全体のタイムアウト
    • 各テストのタイムアウト
    • アサーションのタイムアウト
    • リトライ回数
    • テストの並列実行
    • テスト状況の記録
    • スナップショット保存先
  • テストプロジェクト
    • 複数のプロジェクトを設定
    • プロジェクトごとにテストファイルをフィルタリング
    • プロジェクトの依存関係
  • ウェブブラウザの設定
    • デバイスの設定
    • ベースURL
    • カラースキーム
    • ビューポート
    • デバイススケールファクター
    • 通信状態
    • ロケール
    • タイムゾーン
立ち読み電子版を購入
Playwrightのあるきかた ~ゼロから始めるE2Eテスト~

新刊

同人誌・68ページ・15部頒布・紙/電子・1,500円
チェックする

Web E2Eテスト・スクレイピングツールのPlaywrightの解説本第1弾は、Playwrightをはじめてさわる方がロケーターというブラウザを自由自在に操るAPIを駆使し、簡単なE2Eテストが書けるようになるまでの基本的な使い方の解説をする入門書です。
Playwrightを使ううえで最重要である、ロケーターを中心に解説をしています。
ロケーターが理解できるようになると、ウェブサイトの操作を自在に行えるようになります。
また操作後の要素を検証するマッチャーも解説しており、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を使用する
ホーム
サークル
頒布物
マイページ