LoginSignup
14
11

More than 5 years have passed since last update.

Seleniumで結合テスト

Posted at

はじめに

「テスト」はアプリケーション開発において非常に重要なものです。
テストが通らなければ、リリースすることは出来ません。
もちろん、テストを通す前にテストを書かなければなりませんが、テストを記述するのは、容易ではありません。
学生の頃に仲間とwebアプリケーションを作った際には挫折しました... :sob:

一口にテストと言っても、様々な物があります。

  • 単体テスト
  • 結合テスト (インテグレーションテスト)
  • 機能テスト
  • システムテスト

今回は結合テストについて書きたいと思います。

結合テストとは

単体テストで通ったモジュール(部品)を組み合わせて行うテスト

主にモジュール間の接続点(インターフェース)がうまく機能するかを確認する場合と、結合した状態で外部から見て一体として正しく機能するかを確認する場合がある。 (IT用語辞典より)

らしいです。 :persevere:
いまいちぴんとこないかも知れませんが、具体的IDCFCloudのサイトに当てはめると

  • サーバに入力されたUserIDとPasswardを送信する (ブラウザ側の操作)
  • UserIDとPasswordの組が正しければトップページのurlを返す(サーバー側の処理)

この2つのモジュールを連携させた際に、想定通りの(入力されたUserIDとPasswordの組が正しければトップページのurlを得る)結果が得られることを確認するテストになります。

今回は結合テストをseleniumというツールを使って行いたいと思います。

Seleniumとは

webアプリケーション用のテストツールで、webブラウザの操作を指定することによりテストを実装する。

Seleniumというツールにも何種類かありますが、今回はSelenium IDEを使用します。
FireFoxのアドオンとして使用できます。また、ブラウザの操作を記録することができるので
簡単にテストを実装できます。

Install方法

Selenium IDEの導入のいろいろ
この方の記事がわかりやすくて良かったです。

テストの実装

今回は先ほど例に上げた例
入力されたUserIDとPasswordの組が正しければトップページのurlを得る
というテストを記述したいと思います。

実装と言っても、今回はFireFoxのAddonから自動生成するので、プログラミングの経験がなくても大丈夫です。 :smiley:

準備するもの

  • IDCFのアカウント(電話認証あり :scream:
  • SeleniumIDE導入済みのFirefox

テストの準備

  1. IDCF Cloudログインページを表示させます
    top-page.png

  2. Selenium IDEを起動します。(ブラウザの右上の3本線の中にあると思います。)
    selenium.png

下のようなウインドウが出てきます。
スクリーンショット 2015-12-15 8.23.58.png
既に操作が記録されます。
記録したくない時は右上の赤いボタンをクリックしてください。
3. UserIDとpasswordを入力してログインボタンを押してください
ログインに成功すると下の図の状態になると思います。
SeleniumのIDEの方に行動が記録されているのがわかりますね。
ログイン画面上でパスワードは*******と表示されていましたが、SeleniumIDEの方にはちゃんとfugafugaと表示されているのがわかりますね。 :smiling_imp:
スクリーンショット 2015-12-15 8.40.48.png
4. SeleniumIDEウインドウの右上の赤いボタンを押して記録モードを解除してください。
5. ログアウトしてログインページに戻ってください。

ここまでで準備完了です。あとはテストを行うだけです!!! :tada: :tada: :tada:

テスト開始

  1. このボタンを押すだけ!!!

スクリーンショット 2015-12-15 8.46.28.png
そうすると下の図の状態になると思います。

スクリーンショット 2015-12-15 8.54.05.png
緑のvarの状態になれば、無事テストが通っています。

終わりに

テストは経験がないと着手しにくいです。
Seleniumのようなツールを使えば、かなり楽になります。 :smile:
皆さんもこれを気にガンガンテストを書いてみてください

14
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
11