2012-05-14 36 views
9

Tôi đang sử dụng selyium Capybara trong dự án Rails của tôi (trên hệ thống Ubuntu 10.04) và tôi vừa nâng cấp firefox ngay khi chạy thử tải firefox nó bây giờ có tất cả các tiện ích được cài đặt và nó đợi cho đến khi tôi thiết lập từng cái một lần đầu tiên.Làm cách nào để vô hiệu hóa các add-on trong firefox khi sử dụng selenium

Có cách nào để tắt tất cả các tiện ích bổ sung này khi bắt đầu selen không?

HOẶC

Có cách nào để thiết lập tất cả của tôi add-ons và lưu các thiết lập để nó không nhắc tôi mọi các cuộc thử nghiệm đang chạy?

Cập nhật

Nếu tôi thay đổi nó qua sử dụng chrome nó hoạt động tốt với điều đó.

Capybara.register_driver :selenium do |app| 
    Capybara::Selenium::Driver.new(app, :browser => :chrome) 
end 

Capybara.javascript_driver = :selenium 

Tôi muốn thực hiện các thử nghiệm với firefox. Tôi đã thiết lập hồ sơ 'thử nghiệm' dưới firefox và đã thử sử dụng cấu hình này theo các bước sau:

Capybara.register_driver :selenium_firefox_custom do |app| 
    Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => "test") 
end 

Capybara.default_driver = :selenium_firefox_custom 

Không hoạt động, nó vẫn cố tải hồ sơ mặc định của tôi.

Tôi đang sử dụng phiên bản git của capybara;

capybara (1.1.2) 
    mime-types (>= 1.16) 
    nokogiri (>= 1.3.3) 
    rack (>= 1.0.0) 
    rack-test (>= 0.5.4) 
    selenium-webdriver (~> 2.0) 
    xpath (~> 0.1.4) 

Tôi cũng đã cố gắng sử dụng Capybara.javascript_driver =: selenium_firefox_custom

+0

Điều này có phải do tự động cập nhật không? Điều này có thể được đặt trong tab Nâng cao trong Cập nhật. Nếu nó được thiết lập để sử dụng lần đầu tiên, tôi sẽ tưởng tượng bạn sẽ chỉ phải làm điều đó một lần? Hay bạn đang sử dụng máy ảo với trạng thái ban đầu? Nếu không, tôi không chắc chắn! Lấy làm tiếc! – Nashibukasan

+0

Đây là thiết lập của các plugin để sử dụng lần đầu tiên.Nếu tôi thiết lập chúng mặc dù selen đóng trình duyệt tất cả các thiết lập của tôi bị lãng quên và tôi phải làm điều này một lần nữa. – map7

+0

Bạn chỉ muốn tắt kiểm tra tính tương thích của tiện ích bổ sung khi khởi động trình duyệt? –

Trả lời

3

Cố gắng sử dụng một cấu hình tùy chỉnh, và đặt tên nó tuy nhiên bạn muốn:

Capybara.register_driver :selenium_firefox_custom do |app| 
    Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => "custom") 
end 

Capybara.default_driver = :selenium_firefox_custom 

Tùy thuộc vào phiên bản bạn đang sử dụng API có thể đã thay đổi, nhưng khá nhiều điều này là những gì bạn phải làm.

+0

Khi sử dụng thử nghiệm javascript với 'js: true', nó không nghe register_driver này, có cách nào xung quanh vấn đề này không? – map7

+0

Thay vào đó, chỉ cần sử dụng 'javascript_driver'. –

0

Như tôi đã không sử dụng Ubuntu Tôi chỉ có thể đề nghị cách giải quyết Windows của tôi. Tôi nghĩ rằng đó là một cách thích hợp để sử dụng một hồ sơ Firefox thứ hai mà không có Plug-in để chạy thử nghiệm selen.

Trong Windows có thể đạt được bằng cách cho "firefox.exe -ProfileManager -no-remote" vào Windows Run.

Cách chưa được kiểm tra cho Ubuntu sẽ là [Alt] + [F2] và firefox -ProfileManager. Điều quan trọng là bạn phải đóng tất cả các trình duyệt Firefox Windows và có thể giết vẫn tiến trình hiện có trước khi

+0

Ok, tôi đã tạo hồ sơ 'thử nghiệm' trong firefox và tắt tất cả tiện ích bổ sung của mình. Làm thế nào để tôi biết plugin của tôi cho selen để sử dụng cấu hình 'test' cho Firefox? – map7

+0

Câu trả lời nằm trong bài viết của tôi. :) –

4

Nếu bạn không muốn tạo ra một hồ sơ cá nhân mà bạn phải duy trì (ví dụ: kiểm tra để kiểm soát nguồn, vv), bạn có thể tạo hồ sơ cá nhân một cách nhanh chóng như sau:

Capybara.register_driver :selenium_firefox do |app| 
    profile = Selenium::WebDriver::Firefox::Profile.new 
    profile["extensions.update.enabled"] = false 
    profile["app.update.enabled"] = false 
    profile["app.update.auto"] = false 
    Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => profile) 
end 

Capybara.default_driver = :selenium_firefox 

Đó sẽ tạo một hồ sơ nhanh chóng mà không cập nhật phiên bản trình duyệt hoặc các phần mở rộng. Hy vọng rằng sẽ giúp!

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