0

統合テストには、TDD / BDDワークフローだけでなく、リモートビルドサーバーでテストを実行するためにも、セレンを使用したいと思います。

これにはどのコンポーネントが必要ですか?

ブラウザアドインがあることは知っていますが、それはコードのブートストラップを支援するためのものです(コードをエクスポートして、必要に応じて微調整できます)。

ブラウザが起動するため、ローカルでテストを実行するのが遅いと思いますが、ブラウザを開かずにこれを実行する方法はありますか?

これはビルドサーバーでどのように機能しますか?ヘッドレスモードはありますか?

誰かがさまざまなセレンツールの概要を説明し、それらがどのように組み合わされ、開発サイクルのどこで使用されるかを説明できますか?

たとえば、Seleniumドライバー、Selenium rc、ブラウザーアドオンなどが表示されます。

これをrailsとjavaの両方に使用したいと思います。

4

2 に答える 2

1

Java で Selenium を試したことはなく、Ruby でのみ試しましたが、相互作用は似ているはずです。Seleniumにはヘッドレスモードがないと思います。そのためには別のドライバーを使用する必要があります。Ruby の場合、たとえば、ヘッドレス Webkit ベースのブラウザーを実行するcapybara-webkitがあります。

私自身の経験から言えば、ヘッドレス ブラウザを使用した CI (ビルド サーバー) で多くの問題が発生したため、仮想スクリーン マネージャーの一種であるXvfb上で実行される Selenium と Google Chrome に切り替えることになりました。ヘッドレス環境でグラフィカル アプリを実行できる UNIX 用。問題のほとんどは、Webkit ヘッドレス ブラウザーと実際の実際のドライバーとの間の一貫性のない動作に関連しています。ただし、アプリの外観と操作方法によっては、うまくいく場合もありますので、試してみてください。

したがって、必要なコンポーネントは、Selenium サーバー (ブラウザーを駆動する) と、コマンドをサーバーに送信するクライアントだけです。Java と Ruby のクライアントがあるため、好きな言語を選択できます。

実際、タイムアウトやダウンしているサードパーティ API などが原因でテストが理由もなく失敗する可能性があるため、プロセスが遅く、非常に不安定でもあります。うまくいかず、統合テストが失敗する原因となることがたくさんあります。 .

いずれにせよ、これは非常に貴重なツールであり、間違いなく使用する必要があります。アプリの品質を保証するために、これらの種類のテストのみに完全に依存するべきではないことに注意してください。ただし、これらはシステムのより小さな表面のみをテストする必要があります。単体テストとコンポーネント テストは、テスト スイートの大部分を構成する必要があります。

これがあなたの質問を明確にするのに役立つことを願っています.

于 2012-06-27T19:20:18.983 に答える
0

私は Selenium を自分で評価しましたが、Firefox アドオンを使用してテストを記録する必要があることを理解しています。次に、必要なコードにエクスポートします。次に、システムをテストする時が来たら、テストを実行するために使用できるサーバーとして機能する Selenium RC を起動します。Selenium WebDrivers はこれの一部であり、サーバーが記録されたテストを使用してブラウザーを開いて「駆動」できるようにします。

Firefox 以外のブラウザでテストを記録するのは、便利なアドオンがないため難しいことに注意してください。代わりに、独自のテストを最初から作成する必要があり、これには時間がかかります。

Fabasoft ( http://www.apptest.com/en/ ) の app.test は、同じ仕事を別の方法で行う無料の代替手段です。

于 2012-06-27T19:19:31.443 に答える