Java で Selenium を試したことはなく、Ruby でのみ試しましたが、相互作用は似ているはずです。Seleniumにはヘッドレスモードがないと思います。そのためには別のドライバーを使用する必要があります。Ruby の場合、たとえば、ヘッドレス Webkit ベースのブラウザーを実行するcapybara-webkitがあります。
私自身の経験から言えば、ヘッドレス ブラウザを使用した CI (ビルド サーバー) で多くの問題が発生したため、仮想スクリーン マネージャーの一種であるXvfb上で実行される Selenium と Google Chrome に切り替えることになりました。ヘッドレス環境でグラフィカル アプリを実行できる UNIX 用。問題のほとんどは、Webkit ヘッドレス ブラウザーと実際の実際のドライバーとの間の一貫性のない動作に関連しています。ただし、アプリの外観と操作方法によっては、うまくいく場合もありますので、試してみてください。
したがって、必要なコンポーネントは、Selenium サーバー (ブラウザーを駆動する) と、コマンドをサーバーに送信するクライアントだけです。Java と Ruby のクライアントがあるため、好きな言語を選択できます。
実際、タイムアウトやダウンしているサードパーティ API などが原因でテストが理由もなく失敗する可能性があるため、プロセスが遅く、非常に不安定でもあります。うまくいかず、統合テストが失敗する原因となることがたくさんあります。 .
いずれにせよ、これは非常に貴重なツールであり、間違いなく使用する必要があります。アプリの品質を保証するために、これらの種類のテストのみに完全に依存するべきではないことに注意してください。ただし、これらはシステムのより小さな表面のみをテストする必要があります。単体テストとコンポーネント テストは、テスト スイートの大部分を構成する必要があります。
これがあなたの質問を明確にするのに役立つことを願っています.