0

ビルド プロセス中に DOH テストを自動化するために、Selenium RC を使用して、ビルド マシンとは別のドメインに配置されたサーバーでさまざまなブラウザー (IE および Firefox) を起動します。DOH を開始するために、各ブラウザーは runTests.html に誘導されます。

doh.robot を使用するテストが開始されると、次のメッセージが表示されることがあります。

「DOH は、現在の Web ページが DOH にアクセスしようとしていることを検出しましたが、DOH の自動化に同意したドメインとは異なるドメインに属しています。この Web ページにアクセスして新しい DOH テストを開始するつもりがない場合は、[キャンセル] を押してください。今すぐ Web ページを離れてください。」

しかし、これらのテストは無人であるため、誰かが [OK] をクリックするのを待っているだけで、Selenium がタイムアウトします (IE 8 では、ポップアップが自動的に消えるように見えますが、ロボットはその後何もしません)。

私が言ったように、それは常に起こるわけではありません。ポップアップで [OK] をクリックすると、メッセージの表示が停止し、数回のセッションでメッセージが表示されなくなりますが、その後、任意の方法で再び表示されます。

このポップアップが表示されないようにする方法を知っている人はいますか?

4

2 に答える 2

1

これはおそらく正しい方法ではありませんが、util/doh/robot/DOHRobot.java で、それをチェックしないようにコードを変更したり、常に [OK] を押すようにシミュレートしたりできる場合があります。私は自分で試したことはありませんが、自動テストの一部でそれを行う必要があるかもしれません.

于 2011-03-31T01:47:43.740 に答える
0

DOH ロボットが初期化されると、最初に、テストしようとしているページの左上隅をクリックしようとします。この div を隠すと (firebug で表示できます)、メッセージがポップアップします。問題は、ページの読み込みが常に十分に速いとは限らないことだと思います。

これを修正するのはやや困難です。私はしばらく DOH を使用していませんが、setTimeout を使用してこれを修正する方法はないと思います。( doh.run コマンドで setTimeout を使用してみることができますが、DOH ロボットが doh コマンドを解析する前にその div をクリックする場合があります。)

もう 1 つの方法として、一種の「待機」コマンドを Selenium に追加するか、システムを起動するために使用しているシェル コマンドを追加します。

于 2011-05-24T14:41:41.073 に答える