J'essaie d'écrire un test de concombre/capybara pour réorganiser certains articles, puis les sauvegarder. Des idées sur la meilleure façon de faire cela?Comment puis-je tester JQuery UI Sortable avec du concombre
Répondre
J'utilise une étape web comme celui-ci et il fonctionne très bien:
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
la méthode drag_to ne fonctionne pas pour moi. Mais j'ai pu faire le premier élément de ma liste à être traîné à la dernière position en incluant ce qui suit dans mon test de sélénium capybara utilisant 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});
});
}
Bonjour @Francois. J'ai essayé votre code, mais la bibliothèque simulate.js ne fonctionne pas avec les listes triables. J'ai créé un exemple où j'ai intégré le plugin simulate mais l'ai modifié pour qu'il ralentisse les étapes. Comme vous le verrez, le plugin simulate est en train de glisser, mais le tri ne répond pas correctement. Rendez-vous sur [http://jsbin.com/efuyef/7/edit#javascript,live](http://jsbin.com/efuyef/7/edit#javascript,live) pour voir un exemple où les opérations de traçage et de tri échouent . Moi aussi j'essaie de faire quelque chose de similaire pour le concombre, donc une solution à ce problème serait géniale. Comment avez-vous eu le vôtre pour travailler? –
J'ai développé un plugin JQuery pour résoudre ce problème, consultez jquery.simulate.drag-sortable.js qui comprend un plug-in avec une suite de tests et d'exemples.
J'espère que vous trouverez ceci utile! Les commentaires sont les bienvenus.
Matt
Fonctionne comme un charme. Merci! – artemave
J'ai ajouté un exemple d'étape de concombre en utilisant ceci pour le readme du projet. –
Pour moi, #drag_to
travail a cependant ses pouvoirs semblent être limités.
Pour déplacer une ligne de table UI triables vers le bas, je devais créer une table avec trois lignes, puis exécutez cette étape de concombre:
# 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
Ce échangerais la première avec la deuxième rangée. Mon interprétation est que Capybara ne traîne pas assez loin, donc je lui ai donné une cible au-delà de ma cible réelle.
Remarque: J'ai configuré UI-classable avec tolerance: 'pointer
'.
- 1. Knockoutjs avec jQuery UI Sortable
- 2. jQuery UI .sortable() avec jQuery 1.2.x
- 3. jQuery UI Sortable Position
- 4. Comment tester DelayedJob avec du concombre?
- 5. JQuery UI, La combinaison Sortable avec largable
- 6. jquery ui sortable - élément courant
- 7. JQuery UI Accordéon - Sortable Problèmes
- 8. jQuery UI sortable: comment émuler l'événement 'beforeStart'?
- 9. jquery ui sortable - Comment désactiver sortable si elle est déclenchée?
- 10. jQuery UI problème d'événement sortable
- 11. façon discrète tester JavaScript avec du concombre?
- 12. jQuery UI problème Sortable sur IE6
- 13. jquery ui sortable ('refresh') ne fonctionne pas!
- 14. jQuery UI Sortable: Multi-item select
- 15. Pourquoi jQuery UI Sortable ne fonctionne pas?
- 16. jQuery UI, draggable/sortable problème d'ajout
- 17. Comment tester/spec Sinatra & MongoDB API avec du concombre?
- 18. Comment tester OpenID dans des rails avec du concombre
- 19. Question sur Jquery UI Sortable, Option Handle
- 20. jQuery UI Sortable et Google gadgets
- 21. jQuery UI Sortable - sérialiser plusieurs colonnes
- 22. ui objet sortable
- 23. Sérialiser jquery sortable
- 24. jQuery - Sortable avec divs
- 25. jQuery Sortable .toArray avec ASP.NET MVC ActionResult
- 26. Jquery UI Sortable - Obtient l'élément en cours de tri
- 27. jQuery UI sortable ne supporte pas les divs flottants?
- 28. Jquery sortable (« serialize »)
- 29. jQuery UI sortable - Enregistrement des modifications au serveur
- 30. jQuery UI sortable: déterminer dans quel ordre les éléments sont
Je n'ai pas réussi à obtenir cette solution. Quelqu'un d'autre a du succès avec ça? – Francois
En utilisant rspec + capybara (pas de concombre) et je ne peux pas obtenir ce travail non plus. faire glisser les éléments fonctionne (comme dans la méthode renvoie true) mais l'ordre à l'écran n'est pas changé (par save_and_open_screenshot) ou en vérifiant directement le texte. – BM5k