Столкнулся с рядом вопросов, ответы на которые найти не смог, может быть, вы сможете мне помочь или сталкивались с таким поведением
версия 2.31 (32-bit)
IE 9
1) Написал небольшое приложение, которое выполняет тест. На домашнем компе браузер запускается (единственное отличие от рабочей конфигурации 64-битный драйвер), все отлично.
На рабочем компе браузер запускается только из-под IDE (Eclipse, хотя не думаю, что это важно), при запуске из приложения (Tomcat7 - jsf2) браузера не вижу, однако все действия с приложением происходят. Браузер запускается где-то в бэкенде />/>
Приведу пример инициализации драйвера (java)
if (props.getProperty("browser").equalsIgnoreCase("IE")) { DesiredCapabilities dc = new DesiredCapabilities(); dc.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true); driver = new InternetExplorerDriver(dc);
2) При переключении из окна в окно (любое модальное-немодальное) тест работает нестабильно, иногда элементы нового окна не находятся.
ExpectedCondition<Boolean> expectation = new ExpectedCondition<Boolean>() { public Boolean apply(WebDriver driver) { return ((JavascriptExecutor)driver).executeScript("return document.readyState").equals("complete"); } }; int windows = driver.getWindowHandles().size(); // действия для открытия нового окна while (driver.getWindowHandles().size() == windows) { try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } } driver.switchTo().window(getLastElement(driver.getWindowHandles())); try { wait.until(expectation); } catch(Throwable error) {//catch } // элемент не всегда находится WebElement element = (new WebDriverWait(driver, 60)) .until(new ExpectedCondition<WebElement>(){ @Override public WebElement apply(WebDriver d) { return d.findElement(By.id("subject")); }});