Оцените немедленно, если элемент невидим, используя Selenium AjaxElementLocatorFactory
Используя Selenium, у меня есть объекты страницы, реализованные с помощью AjaxElementLocatorFactory PageFactory.
Если я пытаюсь проверить невидимость элемента на странице, он всегда ожидает истечения времени ожидания, определенного в конструкторе. Есть ли способ немедленно оценить условие, если элемент невидим на странице, минуя время по умолчанию timeOutInSeconds, определенное в конструкторе?
На самом деле я пытаюсь убедиться, что элемент сообщения об ошибке отсутствует для определенного входного значения.
Я пытался использовать ExpectedConditions для проверки невидимости, но он всегда ждет, пока не истечет время ожидания, определенное в конструкторе.
public class SomeInputFragment {
@FindBy(css = ".input")
private WebElement input;
@FindBy(css = ".error")
private WebElement error;
public SomeInputFragment(WebElement parent, WebDriver driver)
{
PageFactory.initElements(new AjaxElementLocatorFactory(parent, 5), this);
}
public SomeInputFragment typeText(String text)
{
input.typeText(text);
return this;
}
public WebElement getError()
{
return error;
}
}
@Test
public void someTest()
{
SomePage page = new SomePage(driver);
SomeInputFragment inputFragment = new SomeInputFragment(page.getPageWrapper());
inputFragment.typeText("Some text");
// This assertion here waits for 5 seconds as defined in the constructor of SomeInputFragment to evaluate that the error message is displayed or not.
assertTrue(!inputFragment.getError().isDisplayed());
}