2012-01-09 25 views
5

Tôi có một kịch bản dưa chuột được gắn thẻ với @javascript và tôi đang thử nghiệm nó với một số lệnh gọi nội tuyến thực sự cơ bản. Tôi đang chạy này bằngDưa chuột (đường ray 2) không tải jQuery

Capybara.javascript_driver =: webkit

Nếu tôi làm điều này trên trang, sau khi các yếu tố trong câu hỏi (trong đó có id = "ajax_test_results", đừng lo lắng về ajax dù , bây giờ)

document.getElementById('ajax_test_results').innerHTML = 'Replaced with basic js, ie not jquery, without waiting for pageLoad'; 

thì nó hoạt động: nếu tôi hiển thị trang trong thử nghiệm tôi có thể thấy rằng js đã chạy và cập nhật nội dung. Tuy nhiên, nếu tôi cố gắng làm điều tương tự với jquery

jQuery("#ajax_test_results").html("updated with basic jquery dom manipulation, without waiting for document.ready"); 

thì nó không hoạt động. Tôi nghĩ rằng jquery không được tải, nhưng tôi không biết làm thế nào để đi về gỡ lỗi nó.

Có ý tưởng nào không? Tôi thấy bài viết này có vẻ hy vọng https://stackoverflow.com/questions/8428405/cucumber-tests-jquery-does-not-loaded-in-webdriver nhưng config.assets.debug = true gây ra lỗi cho tôi - tôi nghĩ rằng đó là đường ray 3 chỉ. Có một đường ray 2 tương đương? hoặc một số giải pháp khác?

Grateful cho bất kỳ lời khuyên - max

+0

Tôi có cùng một vấn đề này và không rõ ràng với tôi nơi bạn sẽ nói cho dưa chuột tải jQuery. – bias

+0

Có thể nào jquery không được tải YET? – moritz

+1

Có vẻ hiển nhiên, nhưng bạn có thể đi về việc gỡ lỗi bằng cách gọi 'sleep' trong vài giây ở giữa khi trang được hiển thị và bạn cố gắng kiểm tra sự hiện diện của phần tử – varatis

Trả lời

0

Đối gỡ lỗi bạn có thể sử dụng console.log ('thông báo') hoặc báo cáo cảnh báo. Nó sẽ xuất thông điệp của bạn đến màn hình đầu cuối. Ngoài ra, bạn có thể sử dụng:

Gemfile: 
    gem 'debugger' 

When /your step/ do 
    require 'ruby-debug' 
    debugger 
end 

sau đó bạn có thể gỡ lỗi bằng phương pháp page.evaluate_script hoặc page.execute_script. Nó khá dễ dàng để làm điều đó.

Theo vấn đề jquery bạn có thể thử sử dụng $ thay vì jQuery không?

Alex.

Các vấn đề liên quan