0

自動化テスト スクリプトに seleniun RC を使用しています。私が使う

selenium.waitForPageToLoad(DEFAULT_TIMEOUT);

しかし、それは安定しておらず、待機後の次の要素が見つからないため、50% の確率でテストが失敗します。例えば:

selenium.open("some_url");
selenium.waitForPageToLoad(DEFAULT_TIMEOUT);
selenium.click("id=first");

DEFAULT_TIMEOUT50000に設定されています。

誰かがwaitForPageToLoadの仕組みを説明できますか? テストの安定性を高めるために使用できる代替手段は何ですか?

ありがとう

4

1 に答える 1

0

通常、動的コンテンツ (Ajax 呼び出し、更新など) でこのような問題が発生する可能性があります。これは、ページがロードされたが、一部がまだサーバーから受信されていないことを意味します。

最善の方法は (私がいつもそうしているように) 要素の存在を確認することです。

if(selenium.isElementPresent())

セレン.クリック()

このアプローチが役立つはずです。

または、waitForElementPresent() を使用することもできます。利用できない場合は、次のように独自に開発してください。

while(!selenium.isElementPresent())

スレッド.スリープ(1000)

于 2013-04-29T12:57:53.197 に答える