火曜日, 11月 06, 2007

Selenium敗れる?

Canoo WebTestとSelenium(RC)の対決記事が、地味に話題になってるようなので、乗り遅れないうちに書いておこう。

書いた人がWebTest派なので、当然の結果ではあるんだけど、勝ち負けでなく比較として読めば、2つのテストツールの違いが分かる良い記事だと思う。
とはいえSelenium派としてフォローしたい。
#WebTestは使ったことないんだけどね

とりあえずSeleniumが勝利した項目を並べてみる。

  • Browser fidelity(いかにブラウザに近いか(?))

  • Beginner friendly(初心者にやさしいか)

  • Support for badly formatted HTML code(「悪い」HTMLコードをサポートするか)

  • Multi-language support(多言語サポート)



WebTestとSeleniumの最大の違いは、本物のブラウザを使うかどうかという点。Seleniumが勝利した数少ないこれらの項目のうち、"Browser fidelity"と"Support for badly formatted HTML code"の2つは、この仕組みのおかげで勝てたと言いきっていい。件の記事でもブラウザ上でテストが動くという利点は認めてるし。というか、この2つと他の項目が同じ得点ってのがおかしいでしょ。
そもそもbadly formattedってのが今時ありえないでしょと言われたら、言い返せないけどさ。
でも、実際のブラウザでテストできるというのは、5点分ぐらい貰ってもいいはず。で、悪いHTMLサポートで追加2点。
まあ、これでもまだWebTestに得点で勝てないわけですが、そんなに良いのだろうか。

WebTest勝利項目のうち気になるのは、antに組み込めるのと、HTML以外にも使えるという点。
これはJava内で実行されるWebTestの特性を活かしているわけで、Seleniumにはちょっと無理。
これは勝てなくても構わないと思うけど、Speedも絶対に勝てないだろうなあ。
XPathをフルに使えるのもいいなあ。というかSeleniumを使っていてかゆくなるところを全部カバー出来てるように見えちゃうなあ。
そのうち時間を見つけて使ってみたいです。

番外対決ですが、それぞれの本山サイトのデザインはWebTestの圧勝です。ドイツデザインっぽくてかっこいいなあと思ったらスイスはバーゼルの会社だそうです。
Selenium本山
Canoo WebTest本山


Selenium勝利項目最後の"Multi-language support"ってのは、テスト対象のページが何語で書かれているかではなく、テストケースを書くのに使えるプログラミング言語のことを言ってます。