Selenium 実践入門

セレニウム ジッセン ニュウモン

自動化による継続的なブラウザテスト

Selenium 実践入門の表紙
ソフトウェア工学 / 設計
著者:
伊藤望 / 戸田広(イトウ, ノゾミ / トダ, ヒロシ)
出版社:
技術評論社
出版日:
2016年02月02日頃
ISBN:
9784774178943
シリーズ:
WEB+DB press plus シリーズ
在庫:
在庫あり
3.75(6 件 / 楽天ブックス)
中級者向け
SeleniumWeb テスト自動化QAテスト自動化プログラミングPythonソフトウェアテスト開発効率大規模システム

なぜ注目されているか

言及数
319位
総合646位 ↑ 3 ランクアップ 言及 12 件・うち記事 9 件を掲載
01120222023202420252026

書籍紹介

テストの手間とミスを減らし、開発効率を上げる。導入から大規模事例までを網羅。

技書の森解説

『Selenium 実践入門』 (伊藤望、戸田広、沖田邦夫、宮田淳平、長谷川淳、清水直樹、Vishal Banthia 著、技術評論社 (WEB+DB PRESS plus シリーズ)、2016 年 2 月刊) は、Web アプリケーションのブラウザテストを Selenium で自動化するための知識と手順を、導入の基礎から運用の事例までまとめた書籍です。副題は「自動化による継続的なブラウザテスト」です。版元の概要は、ブラウザーの多様化でクロスブラウザー対応の負荷が増え、継続的インテグレーションの一部としてもテスト自動化が取り入れられていることを背景に挙げ、ブラウザテストの現状と問題点を整理したうえで、Selenium を中心に取り組み方と具体的な手順を解説すると説明しています。版元が挙げる読者は「Web アプリケーション開発でテストを運用しているエンジニア」と「Web アプリケーションテストの自動化を検討しているエンジニア」です。

全 15 章と付録 2 本、テスト自動化のメリットから 2 社の事例まで

目次は 5 つの Part と付録で構成されています。Part 1「Selenium の基礎知識」は第 1 章「テスト自動化とそのメリット」と第 2 章「Selenium の概要」で、手作業によるテストの問題や自動テストツールの種類、Selenium を構成するツール群を整理します。Part 2「WebDriver」は第 3 章「WebDriver 入門」から第 6 章「スクリプトの効率的なメンテナンス」までの 4 章です。第 3 章は Java、Ruby、JavaScript、C#、Python の 5 つの言語についてセットアップとスクリプトの書き方、テストフレームワークを並べ、Firefox や Chrome、Internet Explorer、Safari、PhantomJS のドライバーの準備に進みます。第 4 章「WebDriver コマンド徹底解説」はブラウザーの生成と破棄から、要素の取得と操作、待ち処理、ポップアップ・ウィンドウ・フレームを経て、アクションやイベントリスナーを含むその他のコマンドまでを取り上げ、第 5 章「WebDriver コマンドの実践的活用」はファイルのアップロードとダウンロード、エラーチェック、HTML5 の新機能を扱います。Part 3「便利なライブラリ」は第 7 章「Geb」、第 8 章「FluentLenium」、第 9 章「Capybara」、Part 4「Selenium のさまざまな活用方法」は第 10 章「Selenium IDE」、第 11 章「スマートフォンのテストと Appium」、第 12 章「CI 環境での利用」です。Part 5「実践的な運用」は第 13 章「運用」に続いて第 14 章「サイボウズの事例」と第 15 章「DeNA の事例」で締めくくられ、巻末に付録 A「CSS セレクタ・XPath 早見表」と付録 B「WebDriver コマンド早見表」が付きます。

待ち処理とページオブジェクト、ブラウザテストが壊れやすい理由

ブラウザーを実際に動かす E2E テスト は、利用者の操作に近い形で画面全体の振る舞いを確かめられる一方、実行に時間がかかり、画面の小さな変更や描画のタイミングの揺れで失敗しやすいという弱点を抱えます。単体テストを厚く、ブラウザーを通すテストを薄く積む テストピラミッド の考え方がよく引かれるのも、この費用の差があるためです。壊れやすさの代表的な原因としてよく挙げられるのは、画面の要素が表示される前に操作してしまうことと、画面の構造がテストのあちこちに書き散らされていることの 2 つです。本書では前者に第 4 章の 4.8 節「待ち処理」が対応し、Implicit Wait と Explicit Wait、WebDriverWait による待機条件の指定を取り上げます。後者に対応するのが第 6 章の 6.1 節「ページオブジェクトパターン」で、「Assertion ロジックをページオブジェクトに含めない」といった作成の指針や、@FindBy と PageFactory の仕組みまで扱います。同じ章の 6.2 節「データ駆動テスト」には、Parameterized と Theories という 2 つのテストランナーを使った方法が並びます。

Jenkins と Selenium Grid での運用、2016 年時点の前提

第 12 章は CI サーバー上の実行環境として Linux と Windows の設定、PhantomJS や Xvfb を使うヘッドレス環境、Jenkins の定時実行ジョブ、Selenium Grid による複数ノードでの実行と Jenkins との連携を扱います。第 13 章はテストスクリプトのバージョン管理や依存関係のないテスト、並列実行、ブラウザーやドライバーのプロセスの残存といったリソース管理、正否の自動判定の難しさ、自動テスト環境の維持を取り上げます。第 14 章のサイボウズの事例には Selenium Grid による並列化や Docker によるテスト環境の用意、テスト環境のクラウドへの移行の項目があり、第 15 章の DeNA の事例はブラウザー自動テストとスマートフォンアプリ自動テストの仕組みを紹介します。版元ページの著者紹介 (2026 年 10 月の閲覧時点の掲載) では、第 1〜9 章と付録を伊藤望氏、第 10 章 / 第 12 章 / 第 13 章を戸田広氏、第 11 章を沖田邦夫氏、第 14 章を宮田淳平氏と長谷川淳氏、第 15 章を清水直樹氏と Vishal Banthia 氏が担当したと記されています。

読む前に押さえておきたいのは、本書が 2016 年時点の技術環境を前提にしている点です。目次には PhantomJS や Selenium RC、Selenium Builder が並び、Selenium 3 は第 2 章の 2.2 節の中の一項目として置かれています。2.3 節「ブラウザテストの標準仕様へ」で触れられる WebDriver は、刊行後の 2018 年 6 月 5 日に W3C 勧告となり、Selenium 4 は 2021 年 10 月 13 日に公式ブログで公開が告知されています。ドライバーの入手方法や API の細部は公式のドキュメントで確かめる前提で読み、ロケータの選び方や待ち処理、ページオブジェクト、Grid による並列実行といった、版が進んでもブラウザテストの設計で繰り返し問われる論点を学ぶ本として扱うのが合っています。

テスト観点の洗い出しやテスト技法の体系を学びたい人には、Selenium と周辺ツールの使い方と運用を軸にした本書は目的が合いません。その場合は テストの技術書の選び方 を参考に、テスト設計の本を別に選ぶほうが近道です。一方で、手作業の回帰テストに時間を取られているチームや、ブラウザテストを CI に載せたものの不安定さに悩んでいる開発者にとっては、WebDriver のコマンドの解説と運用上の工夫、2 社の事例を一冊で通して確かめられる本書は、自分たちの仕組みを見直す手がかりを多く得られる一冊です。

言及した記事 (9 件)

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: