1

私はテストの初心者です。

私はLinuxに取り組んでいます。ヘッドレス モードでのテストについて読んでいて、2 つのことに出会いました。1 つは、メモリ内でグラフィック操作を行う X 仮想フレーム バッファです。したがって、出力は表示されません。このリンクhttp://www.seleniumtests.com/2012/04/headless-tests-with-firefox-webdriver.htmlで見つけた実装の詳細。

私が遭遇したもう 1 つは、HtmlUnitDriver です。これにより、テストの実行中にブラウザーも開きません。HtmlUnitDriver を使用して基本的なサンプル コードを作成しましたが、アサーションは正常に機能しているようです。

HtmlUnitDriver が JavaScript でうまく機能しないことは理解しています。しかし、これとは別に、どちらかを選択する際に大きな違いはありますか?

大量の JavaScript を含む Web アプリケーションをテストする予定です。

私はこの分野の初心者です。そのため、回答、提案などをいただければ幸いです。前もって感謝します

4

1 に答える 1

8

両方のアプローチでの私の経験から:

  • ほとんどの場合、HtmlUnit は xvfb を使用した実際のブラウザーよりも高速です。ページのレンダリングに時間がかからないためです。(データ ポイント: 17 秒。HtmlDriver 対 62 秒。私が現在使用している特定のテスト スイートの FirefoxDriver)。
  • HtmlUnit を使用すると、複数のテストを同時に実行する方が簡単で、消費するリソースも大幅に少なくなります。これは、多数のテストがあり、それらをすばやく終了する必要がある場合 (たとえば、10 分ビルド ルールに従いたい場合) に非常に重要です。
  • あなたが言ったように、HtmlUnit には JavaScript と DOM に関する独自の癖があります。他のブラウザー (Firefox、Safari、IE、Chrome など) と比べて良くも悪くもありませんが、バグの修正に時間を費やすのは非常に疑わしいものです。また、そのようなバグを診断するのは非常に難しいと思いますが、それは私の無知に過ぎないかもしれません.
  • 実際のブラウザー + xvfb の利点の 1 つは、xvfb なしで常にまったく同じテストを使用して、何が起こっているかを確認できることです。場合によっては、コンソールを使用して JavaScript を実行して問題を診断することもできます。HtmlUnit を使用していると、私はときどき非常に目がくらむことがあります。また、上記の癖のために、両方の環境でまったく同じテスト コードを常に使用できるとは限りません。

つまり、要約すると、総テスト期間が重要であり、HtmlUnit との戦いに時間を費やす準備ができていない限り、通常のブラウザー + xvfb を使用する方が簡単です。

また、実行中のテストの画面に接続して何が起こっているかを確認できるという追加の利点がある xvnc の使用も気に入っています (xvfb でそれができるかどうかはわかりません)。

于 2012-11-02T14:39:48.820 に答える