Такое дело. Тест Проходит нормально, но не выполняется одно условие: не передается определенная дата.
Вот сам код, в комментариях указано где что должно делаться.
Программист сайта сказал как это делает он, но у него C#.
$('#dateGo').val(str)
Подскажите, где я не прав.
package com.holydiverinc.webdriver; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.*; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxProfile; import org.openqa.selenium.firefox.internal.ProfilesIni; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.concurrent.TimeUnit; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; public class YTTrainSearchDate { private WebDriver driver; private String baseUrl; private boolean acceptNextAlert = true; private StringBuffer verificationErrors = new StringBuffer(); @Before public void setUp() throws Exception { FirefoxProfile profile = new ProfilesIni().getProfile("Webdriver"); driver = new FirefoxDriver(profile); baseUrl = "https://yt.ua"; driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); } @Test public void testYTTrainSearch() throws Exception { Calendar c = new GregorianCalendar(); c.add(Calendar.DAY_OF_YEAR, 4); // увеличиваем на 4 дня от текущей даты SimpleDateFormat format1 = new SimpleDateFormat("dd.MM.yyyy"); //придаем нужный формат дате String str = format1.format(c.getTime());//c.getTime().toString();//вытягиваем измененную дату в нужном формате и присваиваем переменной driver.get(baseUrl + "/ru"); driver.findElement(By.xpath("//div[@id='ytLogin']")).click(); driver.findElement(By.xpath("(//input[@type='text'])[4]")).clear(); driver.findElement(By.xpath("(//input[@type='text'])[4]")).sendKeys("info@yt.ua"); driver.findElement(By.xpath("(//input[@type='password'])[2]")).clear(); driver.findElement(By.xpath("(//input[@type='password'])[2]")).sendKeys("111111Qq"); driver.findElement(By.cssSelector("#ytAuthByLogin > button.yt-button-dark-brown.gradient")).click(); assertEquals("info@yt.ua", driver.findElement(By.xpath("//span[@id='globalStateLine']")).getText()); driver.findElement(By.xpath("//table[@id='userMenu']/tbody/tr/td/a/img")).click(); driver.findElement(By.xpath("//div[@id='railwaySearchForm']/div/div[2]/label/span")).click(); driver.findElement(By.id("depStation")).clear(); driver.findElement(By.id("depStation")).sendKeys("\u043a\u0438\u0435"); //Киев driver.findElement(By.id("depStation")).sendKeys(Keys.DOWN); driver.findElement(By.id("ui-id-3")).click(); driver.findElement(By.xpath("//input[@id='dateGo']")).sendKeys(str);// ТУТ ДОЛЖНО ПЕРЕДАВАТЬ НУЖНУЮ ДАТУ, но оставляет текущую driver.findElement(By.id("arrStation")).clear(); driver.findElement(By.id("arrStation")).sendKeys("\u041b\u042c\u0412\u0406\u0412"); //Львов driver.findElement(By.id("arrStation")).sendKeys(Keys.DOWN); driver.findElement(By.id("ui-id-13")).click(); driver.findElement(By.cssSelector("button.yt-button-dark-brown.gradient")).click(); } @After public void tearDown() throws Exception { driver.quit(); String verificationErrorString = verificationErrors.toString(); if (!"".equals(verificationErrorString)) { fail(verificationErrorString); } } private boolean isElementPresent(By by) { try { driver.findElement(by); return true; } catch (NoSuchElementException e) { return false; } } private boolean isAlertPresent() { try { driver.switchTo().alert(); return true; } catch (NoAlertPresentException e) { return false; } } private String closeAlertAndGetItsText() { try { Alert alert = driver.switchTo().alert(); String alertText = alert.getText(); if (acceptNextAlert) { alert.accept(); } else { alert.dismiss(); } return alertText; } finally { acceptNextAlert = true; } } }