Я хочу протестировать сервер приложений javaEE, и я хочу проверить его с помощью Selenium, когда Selenium connect он должен пройти через страницу входа в систему, но форма этой страницы входа скрыта Я пытаюсь набрать текст в форме, скрытой с помощью Selenium.Selenium и скрытая форма, выполнение без детерминиста
<form hidden name="formLogin" method="POST" action="/app/">
<input type="hidden" name="home" value="true">
</form>
<form hidden name="formLogout" method="POST" action="/app/">
<input type="hidden" name="home" value="false">
</form>
После прочтения этого поста, post on how to force selenium to locate the hidden field, я думал, что решение, но он начинает сводить меня с ума.
У меня есть следующий код:
public class SeleniumTestKheops {
static WebDriver driver;
static Wait<WebDriver> wait;
public static void main(String[] args) throws InterruptedException {
driver = new FirefoxDriver();
wait= new WebDriverWait(driver, 30);
final String url = "https://localhost:8444/app/";
try {
driver.navigate().to(url);
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementsByName('formLogin')[0].checked = true;");
js.executeScript("document.getElementsByName('formLogout')[0].checked = true;");
driver.findElement(By.xpath("//input")).clear();
driver.findElement(By.xpath("//input")).sendKeys("root");
driver.findElement(By.xpath("//div[2]/div/div/input")).clear();
driver.findElement(By.xpath("//div[2]/div/div/input")).sendKeys("pass");
driver.findElement(By.xpath("//a[contains(@href, '#')]")).click();
} finally {
//driver.close();
}
}
}
Но когда я запускаю его несколько раз, результат отличается, иногда это работает, и большую часть времени у меня есть:
Исключение в thread "main" org.openqa.selenium.ElementNotVisibleException: Элемент в настоящее время не виден и поэтому не может взаимодействовать с
Я не понимаю меня Я уверен, почему это случайная работа? Что я делаю не так?
EDIT 1: Я отредактировал код, я в этом уверен. Когда я спам с запуском этого кода, он работает 1 в 5 раз. Я до сих пор не знаю, почему. Я ищу способ проверить все веб-элементы, которые видны на странице.
Какой элемент может не найти? – user2272115