是否真的有必要使用waitForElement
或其他等待...如果我测试由ajax状态加载的javascript单页应用程序?我必须在每个动作之前(例如:点击,键入)waitForElement
。
答案 0 :(得分:0)
是的,Ajax是必要的。但如果你使用“不要重复自己”的原则,这不是问题。你应该创建这样的方法:
clickWithExplicitWait(lctr) {
waitForElementPresent(lctr)//uses ajax wait timeout
driver.click(lctr)//uses implicit wait timeout
}
driver.click()使用隐式等待。因此,您可以为隐式等待和显式“元素等待”指定不同的超时。 您可以使用org.openqa.selenium.support.ui.ExpectedConditions包实现waitForElementPresent()或其他类似方法。
如果您需要等待其他元素在操作后出现,请使用以下内容:
clickAndWait(lctrToClick, lctrToWait) {
driver.click(lctrToClick)
waitForElementPresent(lctrToWait)
}