可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I´m using the Selenium IDE for Firefox and searching for a wait command.
My problem is that I want to test a website with a embedded external map.
This external map needs 3-5 seconds to load.
My commands:
open /Page/mysite.html
//Wait Command? (5 seconds)
ClickAndWait link=do something
回答1:
Use the pause command.
Set speed to fastest (Actions --> Fastest), otherwise it won't work.
回答2:
This will delay things for 5 seconds:
Command: pause
Target: 5000
Value:
This will delay things for 3 seconds:
Command: pause
Target: 3000
Value:
Documentation:
http://release.seleniumhq.org/selenium-core/1.0/reference.html#pause
回答3:
For those working with ant
, I use this to indicate a pause of 5 seconds:
<tr>
<td>pause</td>
<td>5000</td>
<td></td>
</tr>
That is, target: 5000
and value
empty. As the reference indicates:
pause(waitTime)
Arguments:
- waitTime - the amount of time to sleep (in milliseconds)
Wait for the specified amount of time (in milliseconds)
回答4:
Your best bet is probably waitForCondition
and writing a javascript function that returns true when the map is loaded.
回答5:
This will do what you are looking for in 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 */);
And never use Thread.Sleep because it makes your tests unreliable
回答6:
The pause command can be used directly in the ide in the html format.
If using java or C you could use Thread.sleep(5000). Time is in milliseconds. Other languages support "sleep 5" or time.sleep(5). you have multiple options for just waiting for a set time.
回答7:
Before the command clickAndWait
add the following code so the script will wait until the specific link to be visible:
<tr>
<td>waitForVisible</td>
<td>link=do something</td>
<td></td>
</tr>
The practice of using the wait commands instead of pause is most of the times more efficient and more stable.
回答8:
This will wait until your link has appeared, and then you can click it.
Command: waitForElementPresent
Target: link=do something
Value:
回答9:
One that I've found works for the site I test is this one:
waitForCondition | selenium.browserbot.getUserWindow().$.active==0 | 20000
Klendathu
回答10:
In Chrome, For "Selenium IDE", I was also struggling that it doesn't pause. It will pause, if you give as below:
- Command: pause
- Target: blank
- Value: 10000
This will pause for 10 seconds.