Selenium の嫌いなところは言われませんでしたが、JavaScript には自信があるので、CasperJSをメイン ツールとして使用することをお勧めします。1 ページの Web アプリでうまく機能し、独自のテスト ツールが付属しています。wait
ネストされた句を使用する場合、コードはまだ少し複雑になることがあります。各テストでやりすぎないようにすることでそれに対処し、それでも複雑な場合はリファクタリングします。また、テスト用の設計も忘れないでください。セレクターが非常に複雑な場合は、<span id="xxxx">...</span>
その周りに を追加することを検討してください。そうすれば、テストを直接実行できます。
CasperJS はPhantomJSとSlimerJSの両方で使用できます。私の好みは、現在SlimerJSです。
- PhantomJS 1.x は古い WebKit (Safari 5.1 および Chrome 13 に相当) にとどまっているため、最新の機能をテストするのはイライラします。
- SlimerJS は、Gecko エンジンで動作するか、インストール済みの Firefox のバージョンで直接動作します。これにより、追加のプラグイン、セキュリティ証明書などを使用して Firefox プロファイルを構成できます。
- SlimerJS は JavaScript で記述されているため、必要に応じて簡単にハッキングできます。
PhantomJS 2.0 がリリースされたら (できれば 2013 年末頃)、またはサイトが最近の HTML5 API に依存していない場合は、CasperJS を 2 回実行して、2 つのカバレッジを得ることができます。(ところで、PhantomJS は当然ヘッドレスです。SlimerJSは Linux または Mac のみのXvfbを使用する必要があります。)
Seleniumがさらに提供するのは、他のブラウザー、特に IE を制御できることです。(もちろん、IE の場合は Windows マシンを実行する必要があります。) Selenium は、SlimerJS と同様に、Xvfb をヘッドレスにする必要があります (Windows を除く)。(ところで、サポートされているブラウザーの Selenium ドキュメントは何年も更新されていませんが、各ブラウザーのそれ以降のバージョンには、少なくともそこに示されているのと同じサポートがあると思います。)