Honmushi blog
2019/02/07

【実践技術書】実践 Selenium WebDriver

Seleniumをつかった自動テストの本です。Java+Selenium+Firefoxを用いての実装についてです。 テスト自動化を検討中の方には参考になります。他環境での導入に当たっても参考にできる情報があります。。

WebDriverとWebElementの紹介

Seleniumの歴史についてです。興味があれば読んでおけばいいですが、飛ばしてしまっても問題はありません。

一連のアクションを実行できるようにします。簡単な操作から少しづつ練習していきます。親切に書かれているので躓くことは少ないです。 3章ではスクリーンショットを取ったり、Cookieを取り扱ったりする応用的な使い方になります。応用的と言ってもWebシステムのテストをする際には必ず必要になるので、ちゃんと学習しておきましょう。

WebDriverについて

Firefoxから始まり、IEやChromeのWebDriverの説明です。固有の機能などがあるので、選択するブラウザによって該当することを読んでおき、ブラウザごとの差異があることを把握しましょう。

WebDriverのイベントの理解

イベントの存在を理解することで、各ステップで起きていることのデバッグの方法を学びます。テストそのもののデバッグやテスト対象のデバッグの際に、この知識があるととても便利です。どのイベントで現象が発生しているのか問題の切り分けをすることから初めましょう。

実際の障害発生時なども問題を切り分けることは最優先なので、そういった学習にもなると思います。

Remote WebDriver

リモートマシン上でブラウザテストを実行する方法についてです。RemoteWebDriverをつかって実装します。 ここまではローカルのサーバから動作させていましたが、そうするとその間他の作業ができません。実際の運用ではテスト用にリモートサーバを立ち上げて、並行して動作させることになります。その際の手順や仕組みを学びます。

Selenium Gridについての説明もあります。ハブとなるPCからノードとなる複数のPCを動かし、ハブ上で管理集計する機能です。ややこしい内容ですが、大規模なテストであったり複数環境のテストであったりなどの場合に、テスト時間の効率化などを考えると、必要になってくる知識です。

Page Objectパターン

テストスクリプトのメンテナンス性を高めるための施策についてです。プログラミングする上で考慮すべき点は様々あると思いますが、テストスクリプトにも独自の落とし穴のようなものがあります。しっかり意識して、設計・実装を行うことで効率的に、かつ保守性高く運用できるように気をつけたいです。

iOSとAndroidアプリケーションのテスト

Appiumを用いて各スマホのアプリのテストを行う方法の紹介です。こちらを利用すればアプリのテストも自動化することができるようになります。この本の内容では簡単な触りだけ紹介しています。インストールなどの準備が大変なので、よほどで必要で無ければ飛ばしてもいいと思います。必要になってから他の本で学ぶという選択肢もあります。

対象の読者

基本的にjavaに関してプログラミングができるくらいの読者を想定しています。ブラウザテストに興味はあるけどどこから初めたらいいかわからない、Javaエンジニアにおすすめです。

普段プログラミングをしないテスト担当者には難しいです。先にJavaの入門書などでプログラミングに慣れておいたほうが良いです。

おわりに

Javaをつかったブラウザテストの自動化をするに当たっては、この本を参考にすればうまくいくと思います。バージョンの更新など、そのままではうまく行かない点がありますが、ある程度は検索すれば解決できます。

テスト関連の技術の需要はまだまだ大きいと思います。正しくテストが整備されていない、運用されていない環境はまだまだあると思いますので、基本的な知識や実運用を行うことができるととても助かります。

この本ではJavaに限られていますが、テストのノウハウを覚えてしまえば他の環境であっても簡単に応用ができます。後回し・他の人に任せっきりになりがちですが、チャンスと捉えてテストにも取り組んでいきたいです。

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