LeM*_*sel 8 c# selenium selenium-webdriver
我正在研究C#Selenium-WebDriver.发送密钥后,我想等几秒钟.我执行以下代码等待2秒钟.
public static void press(params string[] keys)
{
foreach (string key in keys)
{
WebDriver.SwitchTo().ActiveElement().SendKeys(key);
Thread.Sleep(TimeSpan.FromSeconds(2));
}
}
Run Code Online (Sandbox Code Playgroud)
我称之为:
press(Keys.Tab, Keys.Tab, Keys.Tab);
Run Code Online (Sandbox Code Playgroud)
它工作正常.哪一种更好?
Jul*_*ubé 13
我会不惜一切代价避免使用类似的东西,因为它会减慢测试速度,但我遇到了一个我没有其他选择的情况.
public void Wait(double delay, double interval)
{
// Causes the WebDriver to wait for at least a fixed delay
var now = DateTime.Now;
var wait = new WebDriverWait(myWebDriver, TimeSpan.FromMilliseconds(delay));
wait.PollingInterval = TimeSpan.FromMilliseconds(interval);
wait.Until(wd=> (DateTime.Now - now) - TimeSpan.FromMilliseconds(delay) > TimeSpan.Zero);
}
Run Code Online (Sandbox Code Playgroud)
以某种方式观察DOM总是更好,例如:
public void Wait(Func<IWebDriver, bool> condition, double delay)
{
var ignoredExceptions = new List<Type>() { typeof(StaleElementReferenceException) };
var wait = new WebDriverWait(myWebDriver, TimeSpan.FromMilliseconds(delay)));
wait.IgnoreExceptionTypes(ignoredExceptions.ToArray());
wait.Until(condition);
}
public void SelectionIsDoneDisplayingThings()
{
Wait(driver => driver.FindElements(By.ClassName("selection")).All(x => x.Displayed), 250);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12238 次 |
| 最近记录: |