今後、selenium と watir を mechanize + johnson に置き換える計画はありますか?
2 に答える
現時点では、「orip」で言及されている HtmlUnit の Jruby ラッパーである celerity に最も勢いがあるようです。
また、celerity の周りにはかなりきちんとしたラッパー「culerity」があり、通常のマシン設定で HtmlUnit (Java/JRuby を実行) にアクセスできます。Culerity は、Cucumber と Celerity の間の架け橋です。
これは、Cucumber でテストを作成するのに最適であり、強くお勧めします。
詳細は次のとおりです。
http://drogomir.com/blog/2009/6/16/cucumber-and-celerity-testing-unobtrusive-javascript
そして、ここにculerityの例があります: http://github.com/drogus/culerity-javascript-example/tree/master
これは、良い例(および素敵なインストールガイド)を備えたculerityプロジェクト自体です http://github.com/langalex/culerity/tree/master
このセットアップの成熟度に関するメモ: 数週間前にこれを試しました。そして、かなり簡単にculerityの例を立ち上げて実行することができました。
一方で、次の 2 つの点で問題がありました。
- Webrat 経由でローカルの Rails アプリにアクセスしたかったのですが、それで問題が発生しました (執筆時点では、Webrat への culerity インターフェイスは十分に成熟していません)。
- このアプローチは、Selenium (通常のブラウザーを起動する) を介して同様のテストを実行するよりもはるかに遅いように見えました。私の例では、セレン テストは、キュラーリティ テストよりも約 3 ~ 4 倍高速でした。
私の調査結果のいくつかは、極端な最先端でこれを試した結果かもしれません. しかし、私はまだこれが道だと思っています。ヘッドレスブラウザのテストは進み、未熟なwebrat/culerityインターフェースは別として、おそらくcelerity/HtmlUnitに基づいたまともなテストスイートを作成することができます:)
これがあなたの質問に答えることを願っています。
少し話が逸れますが、HtmlUnitは、JS をサポートするテスト用のヘッドレス ブラウザーとして既に使用できます。JRuby を使用すると、Ruby を使い続けることもできます。