Драйвер Java Selenium Firefox - проблема с заменой текстового поля
0 bobby 1 [2011-08-21 19:00:00]
Запуск Java/Selenium 2.3 (и 4) с помощью Firefox Driver на centos
Попытка протестировать сайт, который имеет форму с типом текста, с onchange. Попробовал вставить текст с помощью sendkeys, а затем сменить фокус, сделав select/click на другом члене в форме. Пытался сделать и огонь. (Не поддерживается в версии 2.3 sel)
Искал сеть так же не повезло.
В основном, пытаясь получить решение о том, как сделать вставку в текстовое поле для драйвера selenium/firefox, так что вставленный текст действительно появляется в текстовом поле, что означает, что событие onchange запускается.
Тест html: ::
<td rowspan='4' nowrap='nowrap' valign='top' align='left'>
<DIV id='win0divCLASS_SRCH_WRK2_SUBJECT$69$'><input type='text' name='CLASS_SRCH_WRK2_SUBJECT$69$' id='CLASS_SRCH_WRK2_SUBJECT$69$' tabindex='31' value="" class='PSEDITBOX' style='width:60px; ' maxlength='8' onchange="addchg_win0(this);oChange_win0=this;" />
</DIV></td>
Код проверки:
driver.findElement(By.name("CLASS_SRCH_WRK2_SUBJECT$69$"))
.sendKeys("ACG");
driver.findElement(By.name("CLASS_SRCH_WRK2_SUBJECT$69$"))
.sendKeys("");
Select sCourse= new Select(driver.findElement(By.id("CLASS_SRCH_WRK2_ACAD_CAREER")));
sCourse.selectByValue("");
Тест устанавливает textelement, а затем устанавливает параметр select/option для элемента select, который должен вызвать изменение фокуса. Я также попытался очистить и сбросить текст, подумав, что может вызвать onchange.
Решение этого поможет многим людям, которые искали то же самое!
благодаря
java linux firefox selenium driver
2 ответа
0 niharika_neo [2011-08-22 13:25:00]
Вы пытались сделать вкладку после sendKeys? Вы можете сделать driver.findElement(By.name("CLASS_SRCH_WRK2_SUBJECT $ 69 $")).sendKeys("\ t");
0 cWarren [2013-06-27 10:54:00]
У меня была аналогичная проблема (хотя мой триггер был onBlur). Я вызвал метод blur() напрямую. В вашем случае это будет
driver.findElement(By.name("CLASS_SRCH_WRK2_SUBJECT$69$")).sendKeys("ACG");
((JavascriptExecutor)driver).executeScript( "$('[name=\"CLASS_SRCH_WRK2_SUBJECT$69$\"]' ).blur() );
Возможно, вам понадобится другая функция, кроме blur().