2017年02月03日

selenium+phantomjs環境を作るぞ

Webサイトの自動テストにseleniumとphantomjsの組み合わせがいいという知らせを聞いた取材班は
一路rubygems.orgに赴いた
そこでレポーターたるgemコマンドが見たものとは



selenium WebDriver入れる

selenium自体はブラウザを自動で動かすプログラムですね。
Officeや秀丸に馴染んでいる人々ではマクロという名前の方が馴染んでるかも
当然マクロ記録に相当するseleniumIDEというのもあります。

以下参考

今回やりたいことはWebプログラムをgit pushしたら自動で継続テストすることなので、
CUIから実行できるselenium webdriverを利用する

本体はJavaで実装されているらしいが、スクリプト言語で利用した方が何かと楽だという話を聞いたので
ruby実装で弄ることにする。

つーことでさらっとコマンド一発ゴー

sudo gem install selenium-webdriver

うん、とくに何も問題なければ素直に入るはず。

PhantomJS入れる

selenium自体はブラウザを自動で動かすマクロ相当のもので
その先に具体的なfirefoxだのchromeだのといったアプリがあるんだけど
いちいちGUIアプリ起動するのもおかしな話だし、だいたい自動受け入れテストでGUI起動なんてしない。
というわけで、ヘッドレスブラウザと呼ばれる代物、PhantomJSをインストールする
レンダリングはしないけどhttpのリクエストとレスポンス、htmlの受け取りだけはするタイプね

インストールと言っても特別なことは何も必要なく、
こちらの公式サイトからバイナリをダウンロードして解凍し、パスの通った適当なところに配置するだけ

wget 
cd /usr/local/bin
sudo tar jxf ~/phantomjs-2.1.1-linux-x86_64.tar.bz2

/usr/lib/からシンボリックリンクを貼りたいかどうかはお好きに。

rubyからselenium実行する

あとは
こちらの記事なども参考に、rubyスクリプトを書いて実行してみる

require "selenium/webdriver"
driver = ::Selenium::WebDriver.for(:phantomjs)

おー、動いてるっぽい。

今後はこのインフラを利用して、gitでwebアプリがpushされたと同時にテストを実行、結果をレポートする環境を作る予定
posted by LoyalTouch at 06:48| Comment(0) | TrackBack(0) | プログラム全般 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック