изменить событие jquery, оно не запускается при запуске огурца с водосвинкой

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

Между тем, есть еще одно текстовое поле, связанное с событием keyup jquery, которое запускает другую функцию и работает вручную в браузере или при запуске огурца.

так что может быть причиной того, что функция обратного вызова события изменения не запускается при запуске огурца?


person fespinozacast    schedule 17.03.2011    source источник


Ответы (3)


У меня такая же ошибка, и я до сих пор не нашел решение. Но этот парень (http://pullmonkey.com/2011/03/03/capybara-does-not-trigger-js-change-event-with-celertiy-driver/) имитирует событие изменения и, кажется, работает.

person gmfvpereira    schedule 28.03.2011

Один простой обходной путь, который я нашел, - это заполнить/взаимодействовать с другим вводом, чтобы тестируемый терял фокус, а браузер запускал событие изменения. Иногда это вопрос изменения последовательности заполнения входных данных, иногда это лишний избыточный шаг.

person Tadas Sasnauskas    schedule 23.05.2014

У меня тоже была эта проблема... Капибара заполняла «12345», а затем я проверял пароль в базе данных, и это было только 1234 или 123.

Мой обходной путь заключался в том, чтобы создать вспомогательный метод в моих глобальных шагах, который принимал аргумент «ввод».

так что это работает примерно так:

find('css').set(value)

find('css').set("\n") if enter.present?

По сути, делая это, он «подтверждает» ввод, примерно так, как вы поступили бы как пользователь. Я думаю, что это чище, чем щелкать другие входные данные или переключать элементы на странице, чтобы они захватили то, что вы вводите, поскольку это относительно точно такого же ввода.

person 安杰帅    schedule 23.05.2014