2014年5月13日火曜日

SeleniumとGebとCasperJSの比較

STARの教材を使って、SeleniumとGebとCasperJSを比較してみました。
どれも詳しくなく、軽く触っただけですが。

比較結果

個人的には、Geb(+spock)が好きです。
ただ、Web系でJavaScriptバリバリの人が多いなら、CasperJSは有力でしょう。
コマンド一発でインストールできて、テキストエディタ一本で開発できちゃうし、動作もサクサク。
この軽量さは好感が持てます。
クロスブラウザができないという弱みはありますが、結局、クロスブラウザって目視確認しないと微妙な崩れとかわからないので、実はそんなに弱みではない場合も多いと思います。

操作性

操作性はGebが圧倒的です。
JQueryライクに要素をとれたり、すべてのhtmlコントロールでメソッドが大体同じだったり、シンプルにコードが書けたり、とにかく気が利いています。
CasperJSもJQueryライクに要素がとれて便利ですが、メソッドを揃えるような工夫はあまりないです。
あと、JavaScript全般に言えることですが、入れ子が多くなって私は嫌いです。
Selenium(Java)は、とにかく長たらしく書かなければならないので面倒です。

Selenium:☓
Geb:○
CasperJS:△

環境整備の容易さ

Seleniumを普通とすると、Gebは少し面倒でした。
groovyとspockのバージョンの整合性ではまったり。。。

比較ということでGebを☓にしましたが、SeleniumとGebはそんなに変わらなく、CasperJSが圧倒的に簡単です。
コマンド一発で環境整備できちゃいます。
(「WEB+DB PRESS vol.80」がとてもわかり易いです。)

Selenium:△
Geb:☓
CasperJS:○

クロスブラウザ

CasperJSはPhantomJSで動かすものなので、そもそもクロスブラウザという概念がありません。
SeleniumとGebはクロスブラウザ対応しています。

Selenium:○
Geb:○
CasperJS:☓

コード

GebとCasperJSは私が書いたので、あまりキレイではないかもしれませんが、コードを比較してみてみるとおもしろいです。

Selenium

STARリポジトリ のanswer参照。

Geb


CasperJS

https://github.com/itagakishintaro/STARHandsOnCasperJS

0 件のコメント:

コメントを投稿