覚え書き

Seleniumを使用して、テストの自動化に挑む。基本編

こんにちは
糖質ダイエット中に、社長との外食の誘惑に負けてしまいがちな遠藤です。

さて、ブラウザテストを行う際、フォームの入力を複数ブラウザで行う場合に、何回も同じ項目を入力するのは大変!バリデーションチェックも何回も大変!ってことでブラウザテストを自動化して、工数のダイエットに挑んでみます!

各用語の確認

Selenium

Selenium(セレニウム)は、クロスブラウザ、クロスプラットフォームのUIテストツールです。

Webブラウザーを使ったアプリケーションのテストを自動化するオープンソースソフトウエアで、2004年にアメリカにあるThoughtWorks(ソートワークス)社で働いていたJason Huggins氏によって開発された社内向けテストツールが元になっています。

Selenium IDE

これは、Firefoxのアドオンです。

ブラウザ操作を記録して、テスト用スクリプトを自動生成してくれます。

作成されたスクリプトから各言語のテストプログラムを作成できます。

Selenium WebDriver

Selenium WebDriverとは、ブラウザの拡張機能やOSネイティブの機能を使ってブラウザを操作するライブラリ群、もしくはその仕組みのことです。プログラムに記述した通りにブラウザを操作できます。Java、C#、Python、Ruby、PHP、Perlで動作します。
こいつは、次回のJunit編で使用します。

使って見る

では、Seleniumを使ってWEB(ブラウザ)テストしてみましょう

Selenium IDEのインストール

FireFoxで下記URLにアクセスして Add to FireFox をクリックしてSeleniumをインストールします。
https://addons.mozilla.org/en-US/firefox/addon/favorites-selenium-ide/

インストールしたら、FireFoxを再起動します。
これでSelenium IDEを使う準備は完了です。

Selenium IDEの実行

インストールするとこんなアイコンが追加されています。
Favorites__Selenium_IDE__Plugin_Installed___Really_Simple_Thoughts_of_a_Perpetual_Learner

 

このアイコンをクリックするとこんなウィンドウが立ち上がります。

2015_02_17_20_58

操作を記録する

ブラウザ操作を記録します。

BaseUrlにテスト対象のホームページのURLを入力します。
ここでは、YahooのURLを入力します。
2015_02_17_20_39次に右端の赤いボタンをクリックします。

2015_02_17_20_41ブラウザを操作します。

ここでは、Yahooで「Seekcloud WEB制作」と入力して、弊社Seekcloudのサイトをホームページを表示してみます。(普段はGoogleつかってますが、今日はYahooの気分)

 

Yahoo WEB制作 上田

「Seekcloud_WEB制作」の検索結果_-_Yahoo_検索

上田市 システム開発はい無事に表示されました。

そしたら、さっきクリックした赤いボタンをクリックして、ブラウザ操作の記録を停止します。

再生してみる

Selenium IDE の再生ボタンを押すと、先ほどの操作が再生されます。
うまく動かない場合は、記録がまずいです。もう一回記録作業をしてみましょう
2015_02_17_20_53

再生されるのを見ているのはちょっと楽しいですよ。

スクリーンショットを撮ってみる

Selenium IDEでスクリーンショットを取得してみます。

Selenium IDEのテーブルにコマンドを追加します。

下記のとおりコマンドを入力してください

コマンド:captureEntirePageScreenshot

対象:画像ファイル名を含むファイルのフルパス

e.g. /Users/seekcloud/Pictures/screenshot.jpg

2015_02_17_21_09

 

あとは、再生ボタンをクリックすれば、

スクリーンショットが保存されます!

Selenium IDEのコマンドは下記を参考にできるので、WEB製作時の効率化に役立ててみてください。

http://oss.infoscience.co.jp/seleniumhq/docs/04_selenese_commands.html

 

次回はJUnitを使用して、ブラウザテストをしてみます!