Tôi đã nhận được lỗi tương tự này. Đối với tôi, hóa ra là cuộc gọi đến số save_and_open_page
trong thử nghiệm của tôi đã gây ra sự cố. Tôi đã xóa các lỗi đó và các lỗi hồ sơ trên Firefox đã dừng.
Tôi chưa có bất kỳ nhu cầu nào cho tiểu sử Firefox đặc biệt chỉ dành cho capybara/selenium, nhưng để trả lời câu hỏi của bạn kỹ lưỡng hơn, trong việc cố gắng giải quyết vấn đề này hồ sơ cho Firefox.
Lưu ý: Cả hai cách này thực sự không giải quyết được sự cố của tôi với lỗi tiểu sử nhưng tôi vẫn bao gồm chúng ở đây, vì bạn đã hỏi.
Phương pháp 1: (. Yêu cầu mỗi nhà phát triển dự án để thiết lập hồ sơ đặc biệt trong Firefox)
Thêm dòng sau vào test_helper.rb bạn
Capybara.register_driver :my_firefox_driver do |app|
Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => 'name_of_existing_profile')
end
Cách 2: (Không yêu cầu mỗi nhà phát triển trong dự án thiết lập hồ sơ đặc biệt trong Firefox.)
Thêm như sau để helper.rb thử nghiệm của bạn
require 'selenium-webdriver'
...
Capybara.register_driver :my_firefox_driver do |app|
profile = Selenium::WebDriver::Firefox::Profile.new
Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => profile)
end
Sau đó, bất kể là ở trên bạn chọn phương pháp, thiết lập trình điều khiển mặc định của bạn để người lái xe mới, hoặc chọn lọc sử dụng trình điều khiển mới bằng cách đặt Capybara.current_driver = :my_firefox_driver
vào đầu xét nghiệm của bạn và đảm bảo rằng test_helper.rb của bạn bao gồm một nhiệm vụ teardown để Capybara.use_default_driver
mà nó nên nếu bạn làm theo các hướng dẫn thiết lập.
Nguồn
2012-10-05 19:22:55
Cảm ơn vì điều đó! Tôi đã quản lý để hiển thị cho tôi trang (save_and_open_page) hoạt động bằng cách đặt chrome làm trình duyệt mặc định của tôi. Vì vậy, bây giờ nó chạy tất cả các bài kiểm tra trên FF và hiển thị các trang đã lưu trên Chrome. – vas