Я закончил тем, что сделал следующее:
Capybara.current_driver = Capybara.javascript_driver
keypress_script = "$('input#my_field').val('some string').keydown();"
page.driver.browser.execute_script(keypress_script)
Я обнаружил в Chrome, тестируя мой JavaScript, что на самом деле создание $.Event
с keyCode
или charCode
и последующее его включение в поле ввода не помещали символы во входные данные. Я тестировал автозаполнение, которое требовало, чтобы в поле ввода находилось несколько символов, и автозаполнение начиналось с keydown
. Поэтому я вручную установил значение ввода с помощью val
, а затем вызвал keydown
, чтобы запустить сценарий автозаполнения.