2010-03-01 2 views
1

У меня есть список выбора, в котором событие изменения связано с элементом с использованием jQuery. Что-то вроде этого:Тестирование события изменения jQuery с использованием Watij

$("#someId").change(function() {..}); 

Когда кто-то выбирает новый вариант в списке выбора, другая часть интерфейса будет меняться соответственно. Теперь это прекрасно работает, когда я использую мышь и щелкаю вещи, однако при использовании Watij для написания моих тестов мне нужно событие изменения jQuery, чтобы оно не срабатывало.

Тест Watij будет правильно выбирать необходимый параметр, но фактическое событие не запускается. Я попытался позвонить fireevent("change"); и fireevent("onchange"); безрезультатно. Я также пробовал ie.sendKeys("{ENTER}"); и ie.sendKeys("{TAB}");, который также, похоже, не делает трюк.

Любые идеи?

ответ

1

Единственное решение, которое я нашел до сих пор, - это откат используемой версии jQuery. В настоящее время я использую версию 1.4.1 (оскорбительная версия в отношении проверяемости события изменения в блоках выбора), и, возвращаясь к версии 1.2.6, проблема исчезает.

1

Используйте $('#someId').trigger('change');, чтобы запустить мероприятие вручную.

См. Документацию для trigger().

0

Когда значение combo/list изменяется с помощью скрипта, он не должен срабатывать. Я не знаю, как Watij это делает, но это один случай.

Во-вторых, Watij работает с IE (до тех пор, пока wikipedia rght), и IE ставит системный контроль вместо вашего списка или комбо, и это может сломать что-то тоже. Попробуйте обновить до IE8, который немного улучшит реализацию компонентов формы (например, выберите, наконец, поддержку атрибута «disabled» в настройках через 10 лет)

Возможно, вас также заинтересует приложение для приложений с обычным графическим интерфейсом и их использование браузер с webapp. Запишите макрос и проверьте скриншоты.

Смежные вопросы