После обновления до Geb 0.12.2 и Selenium 2.48.2 я не могу заставить работать следующее:
$("form").validOn(dateString)
Я пробовал такие варианты, как:
$("input",name:"validOn").value(dateString)
а также
$("form").validOn << Keys.chord(Keys.CONTROL, "a")
$("form").validOn << Keys.chord(Keys.DELETE)
if(date){
$("form").validOn << date
}
Элемент, который я пытаюсь установить, использует jquery datepicker:
<form class="form-inline">
<label>Valid On:</label>
<input size="10" type="text" id="datepicker-validOn" name="validOn" value="${validOn}">
...
</form>
..
..
<r:script type="text/javascript">
$("#datepicker-validOn").datepicker({
format:"${session.sessionPreferences?.globalDatepickerFormat}"
});
...
Средство выбора даты открыто, что означает, что выбор поля работает, но строковое значение не помещается в поле ввода. Я подозреваю, что это связано с перемещением фокуса на средство выбора даты, но не нашел способа это исправить. Я пробовал иметь два .value(dateString)
, надеясь, что второй вернет фокус в поле, но это не сработало. Кроме того, исходный html не изменяется средством выбора даты.
Я использую firefox 33.1.1 Это происходит только в автономной среде, используя Hudson с Xvfb для запуска функциональных тестов. Локальный запуск на рабочем столе с той же версией firefox работает, как и ожидалось, с использованием этого формата: $("input",name:"validOn").value(dateString)
Какие-либо предложения?