Firefox用のSelenium IDEを使用して、待機コマンドを検索しています。私の問題は、外部マップが埋め込まれたWebサイトをテストしたいことです。この外部マップの読み込みには3〜5秒かかります。
私のコマンド:
open /Page/mysite.html
//Wait Command? (5 seconds)
ClickAndWait link=do something
回答:
pauseコマンドを使用して、[ターゲット]フィールドにミリ秒数を入力します。
速度を最速に設定します([アクション]-> [最速])。そうしないと機能しません。
Target
代わりに使用しますValue
。コマンド=一時停止、ターゲット= 1000
pause()
うまくいかないのかについて私を怒らせています!
これにより、5秒間遅延します。
コマンド:一時停止
ターゲット:5000
値:
これにより3秒間遅延します。
コマンド:一時停止
ターゲット:3000
値:
ドキュメンテーション:
http://release.seleniumhq.org/selenium-core/1.0/reference.html#pause
で作業している人のant
ために、これを使用して5秒の一時停止を示します。
<tr>
<td>pause</td>
<td>5000</td>
<td></td>
</tr>
つまりtarget: 5000
、value
空です。参照が示すように:
pause(waitTime)
引数:
- waitTime-スリープする時間(ミリ秒)
指定された時間(ミリ秒単位)待つ
あなたの最善の策は、おそらくwaitForCondition
、マップがロードされたときにtrueを返すjavascript関数を書くことです。
これは、C#(WebDriver / Selenium 2.0)で探していることを実行します。
var browser = new FirefoxDriver();
var overallTimeout = Timespan.FromSeconds(10);
var sleepCycle = TimeSpan.FromMiliseconds(50);
var wait = new WebDriverWait(new SystemClock(), browser, overallTimeout, sleepCycle);
var hasTimedOut = wait.Until(_ => /* here goes code that looks for the map */);
そして、決してそれはあなたのテストは信頼性の低いなるためのThread.sleepを使用しません
一時停止コマンドは、HTML形式のIDEで直接使用できます。
javaまたはCを使用している場合は、Thread.sleep(5000)を使用できます。時間はミリ秒単位です。他の言語は "sleep 5"またはtime.sleep(5)をサポートしています。設定された時間だけ待つための複数のオプションがあります。
これは、リンクが表示されるまで待機し、リンクをクリックできます。
Command: waitForElementPresent
Target: link=do something
Value: