Почему poltergeist запускает событие change для элемента, которого нет на тестируемой странице?
Я новичок в полтергейсте. Я решил использовать его для его способности устанавливать куки, которые у меня работают нормально. Проблема в том, что кажется, что poltergeist выполняет весь код javascript во всем моем проекте rails. Мой функциональный тест не пройден, потому что poltergeist запускает событие on change, которое запускает вызов ajax, для тега select, который даже не появляется на тестируемой странице.
Тест не проходит с:ActionController::RoutingError:
No route matches [GET] "/users/ajax_sort"
Что, конечно, происходит потому, что такого маршрута нет и быть не должно.
Также кажется, что poltergeist выполняет по крайней мере часть моего кода дважды, очевидно, потому что console.log регистрируется дважды.
Есть идеи, почему это происходит? Или как это исправить? Поможет ли просмотр моего кода?
Спасибо!
1 ответ
Оказывается, это была проблема с привязкой событий jQuery. У меня было это как:$(document).on('change', '#id_of_select', function()...
Просто нужно было переключить его на:$('#id_of_select).on('change', function()...