ジェンキンス+セレニウムを試してみるジェンキンス+セレニウムを試してみる最近はやり?のテストツールを試してみる ジェンキンス+セレニウムを使用。 簡単に説明すると、 ジェンキンスはテストプロジェクトを作り実行する。 ブラウザ上のGUIで操作できる。 しかし、テストプロジェクトを作りはするが、テストコードは作らない。 テストコードはセレニウム用、PHPUnit用等に合わせて別途作る必要がある(面倒ですね)。 情報は断片的にWEBに転がっているが、いったいどれが正しいのやら? という状態。 セレニウムは、WEBブラウザを動かして、入力、ボタン押し、画面結果の確認等を自動でテストできる。 要するに、クライアントサイド・WEBブラウザを実際動かしてのテストを、自動でやってくれる。 動かし方は、ジェンキンスに設定出る場合もあるし、コマンドで起動する場合もあり。 その動きは当然プログラムする必要がある。 プログラムは面倒しいので、テストプログラムを自動的に記録作成してくれるSelenium IDEというツールがある。 ちなみに、PHPUnitは、PHPのテストソースを実行するプログラム。 ジェンキンスで起動するように設定可能。 さて、いきなりだが、セレニウムでブラウザを動かすプログラムを作る。FireFoxのアドインでseleniumeIDEを追加。有効にしておく。 FireFoxを再起動すると、使えるので、テストするサイトを開き、 「ツール」-「Selenium IDE」を選択。 ブラウザ上の操作が自動的に記録され始める。 「山」と入力「送信」を押下「川」が表示されることをチェック。 自動的に記録される。 操作が終われば右の「赤丸」をクリックして記録終了。 「ファイル」から、htmlファイルとして「テストケースと、テストスィート」両方保存する。 当然、IDEからもテストできる。 テストした結果が下記の画像。 当然、これって便利だし、セレニウムもJenkins要らない。 自分としては、これの方が気楽。 なのだが、世の中、ブラウザも自動的に起動して、しかも定期的に実行させておきたい欲求が出てくる。 テスター要らねーじゃんというわけだ。 と言っても、テストする人(プログラマとは違う目を持った人)は必要と思うけど。 というわけで、ジェンキンスが必要。 参考サイトは、「さくらのナレッジ」 インストールはコピペで行けた。 記録の為にコマンドはコピペしておく。
後はリンク先の様に設定し(ユーザ・パスワードはadminぐらいでよいだろう。どーせローカルだし。)、 テストプロジェクトとして フリースタイルを選択し 「hello_test」を作成する。 ジェンキンスが日本語で表示されない場合は、違うブラウザで見てみる等すれば 大概日本語で表示される。ブラウザの言語設定に依存するらしい。 「hello_test」を作成したら、とりあえずビルド実行しておく。 そうするとワークスペースが作成される。 次に、セレニウムサーバ「Selenium Standalone Server」をダウンロードして入れておく。 と言っても、ファイルをダウンロードして、 適当なフォルダ(/var/lib/jenkins/)に放り込んで、ファイルの実行可能を許可しておけばよいだけ。 注意!バージョン3はバグがあり?、2.5を使ってね。 なので、左の「Previous Releases」から昔のバージョンのページに行って、 selenium-server-standalone-2.53.1.jar 2016-06-30 19:28:58 20.25MB をダウンロード。 下の画像の個所において、実行可能にしておく。 次に、centosへ仮想ディスクトップを入れる。 仮想ディスクトップでブラウザを実行してしまうというわけ。 # yum -y install xorg-x11-server-Xvfb 次に、再度Jenkinsの設定を行う。 設定例がどこかにないかと探していたら、 【検証自動化】第5回 Selenium IDEで記録したテストをJenkinsのジョブから実行する ~PC一台でブラウザテストを自動化~【後編】 に、ずばり記載がありました。 感謝! 以下箇条書きにて引用(異なる個所あり。実際の環境に合わせて変更してね)。 Jenkinsの管理 以上で、完了。 hello_testプロジェクトの「ビルド実行」を押下。 結果は以下の通り。 |