Я пытаюсь написать тест огурца/capybara, чтобы переупорядочить некоторые предметы, а затем сохранить их обратно. Любые мысли о том, как лучше всего это сделать?Как я могу проверить JQuery UI Sortable с огурцом
ответ
Я использую веб-шаг, как это, и это работает прекрасно:
When /^I drag "([^"]*)" on top$/ do |name|
item = Item.find_by_name(name)
sleep 0.2
src = find("#item_id_#{item.id}")
dest = find("div.title")
src.drag_to(dest)
end
метод drag_to не работает для меня. Но я был в состоянии вызвать первый элемент в моем списке, чтобы быть втянуто в последнюю позицию, в том числе следующего в моей водосвинке тест Селена с помощью jquery.simulate.js:
page.execute_script %Q{
$.getScript("/javascripts/jquery.simulate.js", function(){
distance_between_elements = $('.task:nth-child(2)').offset().top - $('.task:nth-child(1)').offset().top;
height_of_elements = $('.task:nth-child(1)').height();
dy = (distance_between_elements * ($('.task').size() - 1)) + height_of_elements/2;
first = $('.task:first');
first.simulate('drag', {dx:0, dy:dy});
});
}
Привет @Francois. Я пробовал ваш код, но библиотека simulate.js не работает со списками сортировки. Я создал пример, где я встроил модуль имитации, но изменил его так, чтобы он замедлял шаги. Как вы увидите, плагин имитации перетаскивается, но сортировка не отвечает правильно. Перейдите на страницу http://jsbin.com/efuyef/7/edit#javascript,live](http://jsbin.com/efuyef/7/edit#javascript.live), чтобы увидеть пример, где draggable работает и сортируется. , Я тоже пытаюсь сделать что-то подобное для Cucumber, так что решение этого было бы здорово. Как вы заработали? –
Я разработал плагин JQuery, чтобы решить эту проблему, проверьте jquery.simulate.drag-sortable.js, который включает в себя плагин вместе с набором тестов и примеров.
Упование вы считаете это полезным! Обратная связь приветствуется.
Matt
Работает как шарм. Благодаря! – artemave
Я добавил пример огуречного шага, используя это в readme проекта. –
Для меня, #drag_to
сделал работу, однако, его полномочия, как представляется, ограничены.
Для того, чтобы переместить UI-сортировку строки таблицы вниз, я должен был создать таблицу с тремя строками, а затем запустить этот шаг огурца:
# Super-primitive step
When /^I drag the first table row down$/ do
element = find('tbody tr:nth-child(1)')
# drag_to needs to drag the element beyond the actual target to really perform
# the reordering
target = find('tbody tr:nth-child(3)')
element.drag_to target
end
Это переставляет первый со второй строкой. Моя интерпретация заключается в том, что Капибара не тянется достаточно далеко, поэтому я дал ей цель, превышающую мою реальную цель.
Примечание: Я настроил UI-сортировку с помощью tolerance: 'pointer
'.
- 1. Как я могу переопределить событие перетаскивания для jQuery ui sortable?
- 2. JQuery UI Sortable
- 3. Как проверить JQuery UI Sortable widget с помощью Selenium?
- 4. jQuery UI Sortable
- 5. Ember.js jQuery UI Sortable
- 6. jquery sortable ui exceptions
- 7. jQuery UI Sortable Question
- 8. jQuery UI Sortable Position
- 9. jquery ui sortable append
- 10. jQuery UI sortable с анимацией CSS3
- 11. jQuery UI Sortable - Load Positions
- 12. Dropzone.js + JQuery UI sortable queue
- 13. jQuery UI sortable touch duration
- 14. Как проверить ошибку с огурцом?
- 15. jquery ui sortable - текущий элемент
- 16. Как проверить DelayedJob с огурцом?
- 17. jQuery UI Sortable and Dialogue
- 18. jquery ui drag drop + sortable
- 19. jQuery UI Sortable - проблема с ConnectToSortable
- 20. jQuery Sortable UI Syntax Issue
- 21. jQuery UI Sortable «Держать вместе»?
- 22. JQuery-UI sortable tooltip opacity
- 23. JQuery UI Sortable - элементы кузена
- 24. Альтернатива jQuery ui sortable required
- 25. JQuery ui sortable drop event
- 26. jQuery UI: объединение Sortable с Draggable при клонировании Sortable
- 27. JQuery UI sortable добавляет элемент?
- 28. jQuery sortable, как я могу получить идентификатор перетаскиваемого элемента?
- 29. jQuery UI sortable click event
- 30. JQuery Ui Sortable Divs Disapear
Я не мог заставить это решение работать. У кого-то еще есть успех? – Francois
Использование rspec + capybara (не огурец), и я не могу заставить это работать. перетаскивание элементов работает (как в методе возвращает true), но порядок на экране не изменяется (за одно сохранение save_and_open_screenshot) или напрямую проверяется текст. – BM5k