Драйвер 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().