我要对硒测试的代码应用一个规范,因为 webdriver必须等待web元素随时显示或加载到网页上。它应该适用于代码中的每个Web元素。有什么办法可以做到这一点。无需在需要时应用隐式等待或Webdriver等待。我可以使用此规范,以便即使将来任何webElement有时都需要变得可见时,它将等待默认值直到可见。
答案 0 :(得分:4)
您可以创建一个方法,该方法接收By
作为参数并返回WebElement
,并将其用于所有元素搜索而不是driver.findElement()
// Java syntax
public WebElement findElement(By by) {
WebDriverWait wait = new WebDriverWait(driver, 30);
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(by));
return element;
}
您也可以将WebDriverWait wait = new WebDriverWait(driver, 30);
放在类级别,而不是每次都创建一个新实例。