Я использую Pagefactory и хочу реализовать явное ожидание в некоторых методах на странице.Вот общая структура моего кода:
public class HomePage{
private String username;
private String password;
...
@FindBy(id= "username")
public static WebElement LoginUserName;
...
public LoginPage(RemoteWebDriver driver, ExtentTest test, Properties config) {
this.driver = driver;
this.test = test;
this.config = config;
PageFactory.initElements(driver,this);
}
public void enterUserName(String userName) throws Exception {
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.elementToBeClickable(LoginUserName));
if (LoginUserName.isDisplayed()) {
LoginUserName.sendKeys(userName);
} else {
test.log(LogStatus.ERROR, "Element Not found");
throw new Exception("Element not found" + LoginUserName.toString());
}
}
...
приведенный выше код работает нормально, но если я определю WebDriverWait wait = new WebDriverWait(driver, 10);
вне enterUserName
, я получу ошибку.Я хочу определить WebDriverWait wait
снаружи, потому что я хочу использовать его и в других методах.Итак, как я могу определить WebDriverWait wait = new WebDriverWait(driver, 10);
вне enterUserName
без получения ошибки?
ошибка не показывает полезную информацию (Caught exception;>>>>>:null
)
Спасибо за любую помощь :)