Не заполняется поле “Дата рождения” в Selenium Web driver

153
02 июля 2018, 21:50

Не заполняется поле "Дата рождения" при запуске тест passed, сделал проверку на заполнение полей, выдает асерт. Элемент находит, но почему-то пропускает его заполнение. В чем причина?

 import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.Wait;
import org.openqa.selenium.support.ui.WebDriverWait;
import java.util.ArrayList;
import java.util.concurrent.TimeUnit;

public class SbrfTest {
    WebDriver driver;
    String baseUrl;

    @Before
    public void beforeTest() {
        //Создаем объект веб-драйвера для хрома
        System.setProperty("webdriver.chrome.driver", "drv/chromedriver.exe");
        baseUrl="http://www.sberbank.ru/ru/person";
        //Создаем экземпляр драйвера
        driver = new ChromeDriver();
        //Неявное ожидание
        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        //Разворачиваем окно на весь экран
        driver.manage().window().maximize();
        driver.get(baseUrl);
    }
    @Test
    public void testSbrf () {
        driver.findElement(By.xpath("//li//span[contains(text(),'Страхование')]")).click();
        driver.findElement(By.xpath("//li//a[contains(text(), 'Путешествия и покупки')]")).click();
        WebElement title = driver.findElement(By.xpath("//div//h3[contains(text(), 'Страхование путешественников')]"));
        Assert.assertEquals("Страхование путешественников", title.getText());
        driver.findElement(By.xpath("//*[@id=\"main\"]/div/div/table/tbody/tr/td/div/div/div/div/div/div[2]/div/div[2]/div/div[2]/div/div[2]/div/div/div/div/div/p/a")).click();
        String Tab1 = driver.getWindowHandle();
        ArrayList<String> availableWindows = new ArrayList<String>(driver.getWindowHandles());
        if (!availableWindows.isEmpty()) {
            driver.switchTo().window(availableWindows.get(1));
        }
        Wait<WebDriver> wait = new WebDriverWait(driver, 10, 1000);
        wait.until(ExpectedConditions.visibilityOf(
                driver.findElement(By.xpath("//*[@id=\"views\"]/form/section/section/section[2]/div[1]/div[1]/div"))));
        driver.findElement(By.xpath("//*[@id=\"views\"]/form/section/section/section[2]/div[1]/div[1]/div")).click();
        driver.findElement(By.xpath("//SPAN[@ng-click='save()'][text()='Оформить']")).click();
        fillField(By.name("insured0_surname"), "Ivanov");
        fillField(By.name("insured0_name"), "Ivan");
        fillField(By.name("insured0_birthDate"), "05.05.1990");
        fillField(By.name("surname"), "Петрова");
        fillField(By.name("name"), "Татьяна");
        fillField(By.name("middlename"), "Борисовна");
        fillField(By.name("birthDate"), "15.09.1980");

        driver.findElement(By.xpath("//*[@id=\"views\"]/section/form/section/section[2]/div/fieldset[8]/span[2]/input")).click();
        fillField(By.name("passport_series"), "5010");
        fillField(By.name("passport_number"), "215316");
        fillField(By.name("issueDate"), "10.06.2011");
        fillField(By.name("issuePlace"), "УВД ПО ЦЕНТРАЛЬНОМУ ОКРУГУ ГОРОД МОСКВА");
        driver.findElement(By.xpath("//*[@id=\"views\"]/section/form/section/section[5]/div[1]/span[2]")).click();
        Assert.assertEquals("Заполнены не все обязательные поля", driver.findElement(By.xpath("//*[@id=\"views\"]/section/form/section/section[5]/div[2]/div[1]")).getText());
        //Проверяем, что все поля заполнены верно
        Assert.assertEquals("Ivanov", driver.findElement(By.name("insured0_surname")).getAttribute("value"));
        Assert.assertEquals("Ivan", driver.findElement(By.name("insured0_name")).getAttribute("value"));
        Assert.assertEquals("05.05.1990", driver.findElement(By.name("insured0_birthDate")).getAttribute("value"));
        Assert.assertEquals("Петрова", driver.findElement(By.name("surname")).getAttribute("value"));
        Assert.assertEquals("Татьяна", driver.findElement(By.name("name")).getAttribute("value"));
        Assert.assertEquals("Борисовна", driver.findElement(By.name("middlename")).getAttribute("value"));
        Assert.assertEquals("15.09.1980", driver.findElement(By.name("birthDate")).getAttribute("value"));

    }
    private void fillField(By locator, String value){
        driver.findElement(locator).sendKeys(value);
    }
    @After
    public void afterTest() {
        //Закрыть браузер
        driver.quit();
    }
}

стэк трейс:

org.junit.ComparisonFailure: 
Expected :15.09.1980
Actual   :
 <Click to see difference>

    at org.junit.Assert.assertEquals(Assert.java:115)
    at org.junit.Assert.assertEquals(Assert.java:144)
    at SbrfTest.testSbrf(SbrfTest.java:101)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
    at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
READ ALSO
Java и самоподписанные SSL сертификаты

Java и самоподписанные SSL сертификаты

Стоит сервер - клиентское приложение , использующее в своей работе Java и TomCatПри соединении клиентского приложения с серверной частью по протоколу...

205
Как реализовать вывод фотографий через JSON запрос к серверу?

Как реализовать вывод фотографий через JSON запрос к серверу?

Требуется реализовать возможность вывода фотографий после получения ответа JSON с сервераВ этом ответе содержаться прямые ссылки на фотографии

172
Встраивание карт в приложение на Java

Встраивание карт в приложение на Java

Мне необходимо встроить карты в моё оконное приложение на Java, не обязательно google-карты, мне нужно лишь находить место по заданным координатам,...

236
Анимация для изменения цвета JComponent. / Write animation for JComponent to change colors from rectangles&#39; color to grey slowly

Анимация для изменения цвета JComponent. / Write animation for JComponent to change colors from rectangles' color to grey slowly

Я хочу сделать анимацию для изменения цвета JComponent с любого на серый в течении 5 секунд/ I want to make an animation which would change JComponent's color from any color to grey and then back, but slowly,...

159