SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

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

 本シリーズは、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. ホーム画面

次のページ
4. Selenium IDEでテストケースを生成する

この記事は参考になりましたか?

WebDriverの採用で生まれ変わったOSSのブラウザテストツール「Selenium 2」入門連載記事一覧

もっと読む

この記事の著者

梅澤 雄一郎(株式会社DTS)(ウメザワ ユウイチロウ)

株式会社DTS 産業事業部所属。playframeworkドキュメント翻訳サイト 管理人。主にJavaによるWebアプリケーション開発に従事。酒好き。 はてなブログ ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/7527 2013/12/13 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー