Tôi đang thử viết một bài kiểm tra dưa chuột/capybara để sắp xếp lại một số mục và sau đó lưu lại. Bất kỳ suy nghĩ về cách tốt nhất làm điều này?Làm cách nào để kiểm tra giao diện người dùng JQuery có thể phân loại bằng dưa chuột
Trả lời
Tôi đang sử dụng một bước web như thế này và nó hoạt động tốt:
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
phương pháp drag_to không làm việc cho tôi. Nhưng tôi đã có thể gây ra phần tử đầu tiên trong danh sách của tôi được kéo vào vị trí cuối cùng bằng cách bao gồm những điều sau đây trong jquery.simulate.js Capybara selen thử nghiệm của tôi sử dụng:
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});
});
}
Hi @Francois. Tôi đã thử mã của bạn, nhưng thư viện simulate.js không hoạt động với các danh sách có thể sắp xếp. Tôi đã tạo một ví dụ mà tôi đã nhúng các mô phỏng plugin nhưng sửa đổi nó để nó làm chậm các bước. Như bạn sẽ thấy, plugin mô phỏng đang kéo, nhưng có thể sắp xếp không phản hồi chính xác. Truy cập [http://jsbin.com/efuyef/7/edit#javascript,live](http://jsbin.com/efuyef/7/edit#javascript,live) để xem ví dụ trong đó tác vụ có thể kéo và có thể sắp xếp không thành công . Tôi cũng đang cố gắng làm một cái gì đó tương tự cho dưa chuột, vì vậy một giải pháp cho điều này sẽ là tuyệt vời. Làm thế nào bạn có được của bạn để làm việc? –
tôi đã phát triển một plugin JQuery để giải quyết vấn đề này, hãy xem jquery.simulate.drag-sortable.js bao gồm một plugin cùng với một bộ các bài kiểm tra và ví dụ.
Hy vọng bạn thấy điều này hữu ích! Phản hồi được hoan nghênh.
Matt
Làm việc như một sự quyến rũ. Cảm ơn! – artemave
Tôi đã thêm một bước dưa chuột ví dụ bằng cách sử dụng nó vào readme của dự án. –
Đối với tôi, #drag_to
đã hoạt động nhưng quyền hạn của nó dường như bị giới hạn.
Để di chuyển một dòng của bảng UI-sắp xếp được xuống, tôi đã phải tạo ra một bảng với ba hàng, sau đó chạy bước dưa chuột này:
# 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
này sẽ trao đổi đầu tiên với hàng thứ hai. Giải thích của tôi là Capybara không kéo đủ xa, vì vậy tôi đã cho nó một mục tiêu ngoài mục tiêu thực sự của tôi.
Lưu ý: Tôi đã định cấu hình giao diện người dùng có thể sắp xếp với tolerance: 'pointer
'.
- 1. Kiểm tra API RESTful bằng Dưa chuột trong giao diện người dùng ít ứng dụng
- 2. GTK + kiểm tra giao diện người dùng
- 3. Kiểm tra giao diện người dùng
- 4. Làm cách nào để kiểm tra tiện ích con Sắp xếp giao diện người dùng JQuery bằng Selenium?
- 5. Cách kiểm tra xem tiện ích con giao diện người dùng jQuery có được tải không?
- 6. Flex: Kiểm tra các thành phần giao diện người dùng ở cấp nhấp chuột?
- 7. Làm cách nào để kiểm tra giao diện người dùng WPF?
- 8. Dưa chuột + kiểm tra cảnh báo JS
- 9. Giao diện người dùng jQuery, Draggable, Droppable, Auto Scroll
- 10. Hiệu ứng trả lại jQuery khi nhấp chuột không có giao diện người dùng jQuery
- 11. Giao diện người dùng JQuery Tabs caching
- 12. Selenium là để kiểm tra giao diện người dùng web như ________ là để kiểm tra giao diện người dùng ứng dụng Windows
- 13. Làm thế nào để loại bỏ giao diện người dùng jQuery có thể sắp xếp từ một phần tử?
- 14. Kiểm tra đơn vị Android với giải pháp cập nhật giao diện người dùng AsyncTask và giao diện người dùng
- 15. Giao diện người dùng jQuery không tải
- 16. Làm cách nào để tạo giao diện người dùng bảng điều khiển bằng ASP.NET MVC?
- 17. Giao diện người dùng Kendo và giao diện người dùng jQuery - kích thước và khung javascript
- 18. Cách kiểm tra xem có đang chạy trên chuỗi giao diện người dùng trong Android không?
- 19. Tải lên + Giao diện người dùng jQuery
- 20. Tạo thư viện giao diện người dùng Android có giao diện người dùng tùy chỉnh
- 21. Làm mới nội dung tab khi nhấp chuột trong các tab Giao diện người dùng JQuery
- 22. Làm cách nào để bạn kiểm tra giao diện?
- 23. Nút chuyển đổi giao diện người dùng Jquery (hộp kiểm) nhấp/kéo lỗi
- 24. Giao diện người dùng jQuery Sắp xếp và: con trỏ chuột hoạt động để xử lý
- 25. Tải thử nghiệm giao diện người dùng
- 26. Bạn sử dụng ứng dụng nào để Kiểm tra giao diện người dùng web của mình?
- 27. Kiểm tra xem người dùng có đang cuộn bằng bàn di chuột không?
- 28. cách áp dụng chủ đề giao diện người dùng jQuery?
- 29. CSS UI không có giao diện người dùng jQuery cdn
- 30. Làm cách nào để đặt ngăn chặn trên Hộp thoại giao diện người dùng jQuery?
tôi không thể làm giải pháp này hoạt động. Bất cứ ai khác có thành công với điều này? – Francois
Sử dụng rspec + capybara (không phải dưa chuột) và tôi cũng không thể làm việc này. kéo các phần tử hoạt động (như trong phương thức trả về true) nhưng thứ tự trên màn hình không thay đổi (trên mỗi save_and_open_screenshot) hoặc kiểm tra văn bản trực tiếp. – BM5k