0

webratをセレンモードで使用するとvisit、期待どおりにすばやく戻ります。問題ありません。

私は自分のスタイルが正しく適用されていることを主張しようとしています(さまざまな要素の背景画像を見て)。JSを介してこの情報を取得できますが、テスト中にスタイルシートがロードされていないか、適用されていないようです。

要素が表示されるのを「待つ」ことはできますが、すべてのスタイルが適用されるのを待つ方法がわかりません。私は一般的な遅延を入れることができますが、それは私が避けようとしている組み込みのフレークまたはスローネスのようです。

もちろん、探しているスタイルがわかっているので、それらが表示されるのを待つことができます。そのようなヘルパーを書きますが、私が見たことのない、より一般的なメカニズムがすでに存在しているのではないかと考えていました。

ページが本当に「準備ができている」ことを検出する簡単な方法はありますか?

4

2 に答える 2

2

それは奇妙です。wait_for_page_to_loadは、スタイルシートを含むページ全体を待機していることを知っています。

それでも待機していないと思われる場合は、wait_for_conditionを使用して、JavaScriptを実行し、isがtrueを返すまで待機することができます。次に例を示します。

    @selenium.wait_for_condition "selenium.browserbot.getCurrentWindow().document.body.style.backgroundColor == 'white'", "60000"
于 2009-08-29T04:42:01.057 に答える
0

情報を表示するためにColdFusion部分がまだデータベースにアクセスしているにもかかわらず、ページがロードされたと報告しているときにこれに遭遇しました。その後の処理はすぐに発生します。

SeleniumAPIの抽象Waitクラスを見てください。表示される特定のテキスト、消えるテキスト(読み込みが完了すると消えるフローティングメッセージの場合)、またはでテストできるその他のイベントをテストできる独自のカスタムuntil()句を作成できます。セレンのレパートリー。APIページには、セットアップに大いに役立つ良い例もあります。

于 2009-09-16T15:55:37.323 に答える