Драйвер Java Selenium Firefox - проблема замены текстового поля - PullRequest
0 голосов
/ 21 августа 2011

Запуск Java / Selenium 2.3 (и 4) с использованием драйвера Firefox на centos

Попытка тестирования сайта, имеющего форму с текстовым типом, с помощью onchange. Попытка вставить текст с помощью sendkeys, а затем изменить фокус, выполнив выбор / щелкнув другой термин в форме. Пытался сделать fireevent, а также. (Не поддерживается в версии 2.3)

Безуспешно искал в сети.

В основном, пытаясь найти решение, как сделать вставку в текстовое поле для драйвера 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("");

Тест устанавливает текстовый элемент, а затем устанавливает выбор / опцию выбранного элемента, которая должна вызвать изменение фокуса. Я также попытался очистить и сбросить текст, думая, что это может вызвать обмен ..

Решение этой проблемы помогло бы многим людям, которые искали одно и то же !!

Спасибо

Ответы [ 2 ]

0 голосов
/ 27 июня 2013

У меня была похожая проблема (хотя мой триггер был на Blur).Я вызвал метод blur () напрямую.В вашем случае это будет

driver.findElement(By.name("CLASS_SRCH_WRK2_SUBJECT$69$")).sendKeys("ACG");
((JavascriptExecutor)driver).executeScript( "$('[name=\"CLASS_SRCH_WRK2_SUBJECT$69$\"]' ).blur() );

Возможно, вам потребуется другая функция, кроме blur ().

0 голосов
/ 22 августа 2011

Вы пытались сделать вкладку после sendKeys? Вы можете сделать driver.findElement (By.name ( "CLASS_SRCH_WRK2_SUBJECT $ 69 $")) .sendKeys ( "\ т");

...