Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

実践! PageObjectパターンによる「Selenium2」テストケース改善チュートリアル

WebDriverの採用で生まれ変わったOSSのブラウザテストツール「Selenium2」入門 第4回

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

 本シリーズは、WebブラウザをUIとして利用した業務システムやアプリケーション(以下、Webシステム、Webアプリケーション)のテストをテーマとして、Webブラウザを使ったテストを自動化するOSSのツール「Selenium2」を紹介します。業務システム開発の現場で適用してきたノウハウを元に、これまでSelenium2について知らなかった人から以前使った経験がある人まで、より実践的な「使える」内容を盛り込んでいきたいと思います。

目次

1. はじめに

 これまでの連載で、Selenium2を利用することにより、ブラウザテストの作成、自動実行がとても簡単にできることをお分かりいただけたかと思います。

 しかし、実際に導入してみるといくつかの問題点に気が付くことでしょう。もっとも代表的な問題は、画面仕様の変更によるテストコードの修正や、テストの失敗です。Selenium IDEが生成するテストコードは画面仕様と強く結び付いているため、画面仕様が変更された場合にはテストコードも修正する必要があります。テストコードの数が少ないうちは一括置換などで対応できますが、テストコードの数が増すに連れて修正コストが跳ね上がり、ついつい後回しにされ、最終的にはテストが失敗しても放置されるようになってしまいます。これでは、ブラウザテストを自動化した意味がありません。

 連載最終回となる今回は、Selenium IDEが生成したテストコードをPageObjectパターンという手法を用いて改善し、画面仕様の変更に対応していく様子を、チュートリアル形式で紹介します。

2. 実行環境

 今回、紹介するテストコードは、以下の環境で動作確認を行っています。

  • OS:Windows 7
  • Java:1.7.0_17
  • Firefox:25.0
  • Selenium
    • Selenium IDE 2.4.0
    • selenium-2.37.1(Selenium Client & WebDriver)

 サンプルアプリケーションはHerokuにデプロイしていますので、ご自由にご利用ください。サンプルアプリケーションとテストのソースコードは、本記事のサンプルファイルよりダウンロードすることができます。テストの実行方法などについては、ダウンロードファイルに含まれているREADME.mdをご覧ください。

3. サンプルアプリケーション仕様

 サンプルアプリケーションの仕様は以下のとおりです。

  • ログイン画面
    • タイトルは「Login」
    • メールアドレスとパスワードを入力してログインする
    • ログインに失敗するとログイン画面に遷移する
    • ログインに成功するとホーム画面に遷移する
  • ホーム画面
    • タイトルは「Home」
    • ログアウトアンカーをクリックするとログイン画面に遷移する
図1. 画面遷移図
図1. 画面遷移図
図2. ログイン画面
図2. ログイン画面
図3. ホーム画面
図3. ホーム画面

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

バックナンバー

連載:WebDriverの採用で生まれ変わったOSSのブラウザテストツール「Selenium 2」入門
All contents copyright © 2005-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5