Селен с Кендо UI - PullRequest
       10

Селен с Кендо UI

0 голосов
/ 08 июня 2018

Мы используем Kendo UI для наших кнопок и текстового поля.Это вызывает проблемы для селена.Если пользователь тестирует вручную, то шаги >> перетаскивают указатель мыши на текстовое поле, текстовое поле выделяется, и пользователь нажимает на текстовое поле.Затем курсор начинает отображаться, и пользователь может ввести.

Что касается селена, «driver.findElement» может найти текстовое поле, но не может получить курсор.Я пробовал textbox.click и событие мыши,

1 Ответ

0 голосов
/ 08 июня 2018

Попробуйте установить значение элемента, используя метод executeScript:

JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("document.getElementById('elementID').setAttribute('value', 'yourValue')");

РЕДАКТИРОВАТЬ:

Но, как уже упоминалось @JeffC, это не «ясное» решение.Лучше вы можете увидеть ниже.

Как вы можете видеть здесь , текстовое поле работает следующим образом:

  1. вы должны нажать на первый вводчерез этот xPath: //ul[@id = 'fieldlist']/li[1]/label/span/span/input[1]

enter image description here

именно это поле ввода:

enter image description here

Перед нажатием на первый вход второй вход

enter image description here

имел display:none.И теперь у него есть display:inline-block, поэтому мы можем выполнить действие sendKeys() над этим (вторым) элементом через этот xPath //ul[@id = 'fieldlist']/li[1]/label/span/span/input[2].

То же самое вы можете сделать в вашем случае.

PS в коде это будет выглядеть так:

WebElement firstInput = driver.findElement(By.xpath("//ul[@id = 'fieldlist']/li[1]/label/span/span/input[1]")); 
firstInput.click();

new WebDriverWait(driver,10).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//ul[@id = 'fieldlist']/li[1]/label/span/span/input[2]")); // waits until second input becomes visible

WebElement secondInput = driver.findElement(By.xpath("//ul[@id = 'fieldlist']/li[1]/label/span/span/input[2]")); 
secondInput.sendKeys("55");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...