2015-12-03 17 views
6

Bắt đầu từ tối qua, FirefoxDriver đã luôn mở trên trang này: https://www.mozilla.org/en-US/firefox/42.0/firstrun/learnmore/. Tôi đã thử thay đổi các thiết lập hồ sơ mặc định và không có bất kỳ thành công nào.FirefoxDriver luôn bắt đầu trên trang "firstrun", vi phạm tất cả các tập lệnh thử nghiệm

Câu hỏi sau, http://stackoverflow.com/questions/33937067/firefox-webdriver-opens-first-run-page-all-the-time, là tương tự, nhưng tôi không thấy nơi để triển khai bốn dòng mã và nỗ lực cá nhân của tôi ném nó vào tập lệnh của tôi đã tỏ ra vô ích.

Sự cố này bắt đầu hoàn toàn trong đêm qua màu xanh lam. Tôi có các bài thuyết trình để làm hôm nay và tôi không thể lấy bất kỳ tập lệnh nào của mình để làm việc.

Instantiating dụ WebDriver của tôi như vậy sẽ gây ra một NoSuchMethodError:

   FirefoxProfile profile = new FirefoxProfile(); 
       profile.setPreference("browser.startup.homepage", "about:blank"); 
       profile.setPreference("startup.homepage_welcome_url", "about:blank"); 
       profile.setPreference("startup.homepage_welcome_url.additional", "about:blank"); 
       driver = new FirefoxDriver(profile); 
       driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 

Nhưng việc thoát khỏi profile trong FirefoxDriver mang nó trở lại trang firstrun nêu trên.

Trả lời

2

Chuyển đến trình quản lý hồ sơ bằng "Firefox.exe - p"

Bạn sẽ có nhiều hồ sơ. Vui lòng chọn cấu hình mặc định và đặt mặc định tất cả thời gian.

Không được mở trang đó. tôi đã thử nghiệm và nó hoạt động tốt.

Bạn có thể thử mã này. Tôi khá chắc chắn nó sẽ làm việc.

ProfilesIni profile = new ProfilesIni(); 
    FirefoxProfile ffprofile = profile.getProfile("default"); 
    WebDriver driver = new FirefoxDriver(ffprofile); 
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 
+0

Tôi gặp vấn đề tương tự như @jagdpanzer. Tôi chỉ có một hồ sơ mặc định của Firefox (đã làm theo hướng dẫn của họ: https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles). Bạn có thể vui lòng chỉ định nơi mà mã này nên được sử dụng và cho dù nó nằm trong một tập tin hiện có hoặc một mới được tạo ra (trong trường hợp đó tên của nó nên được một cái gì đó cụ thể)? Cảm ơn. –

+0

cấu hình mặc định luôn ở đó. Hầu hết mã thời gian được sử dụng để mở Firefox ở cài đặt cấu hình mặc định và tránh tất cả các tải mở rộng khác. –

+0

Tôi chỉ có một cấu hình. Nhưng các trang tĩnh vững chắc mở ra – Crusader

11

Tôi gặp phải sự cố này khi chạy kiểm tra RSpec/Capybara bằng Trình quản lý trang web Selenium và Trình khắc phục sự cố với Firefox làm trình duyệt cho ứng dụng Rails. Thử cấu hình lại Firefox theo những cách khác nhau để không có kết quả nhưng được quản lý để sửa chữa bằng cách đơn giản cập nhật đá quý selen-webdriver trong Gemfile tôi (gem 'selenium-webdriver'):

bundle update selenium-webdriver

tín dụng đi vào @lucetzer

3

tôi đã cùng vấn đề với trang chạy đầu tiên, sau khi tìm kiếm một số tôi thấy rằng điều này làm việc cho tôi (tôi sử dụng WebDriver 2.53.0 và FF 45.0.1):

FirefoxProfile profile = new FirefoxProfile(); 
profile.setPreference("browser.startup.homepage_override.mstone", "ignore"); 
profile.setPreference("startup.homepage_welcome_url", "about:blank"); 
profile.setPreference("startup.homepage_welcome_url.additional","about:blank"); 
profile.setPreference("browser.startup.homepage","about:blank"); 
WebDriver driver = new FirefoxDriver(profile); 
0

Có vấn đề với chứng chỉ trong lần chạy đầu tiên màn hình tro của trang chủ Mozilla. Tôi đã gửi một vé cho điều này trong Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1269500

Để khắc phục sự cố này trong Selenium/Capybara/Cucumber, chúng tôi cần thay đổi trang chủ mặc định cho tiểu sử mới để trống hoặc trang khác. Để làm như vậy, hãy đăng ký trình điều khiển firefox/selenium của bạn trong cấu hình:

Capybara.register_driver :firefox do |app| 
    profile = Selenium::WebDriver::Firefox::Profile.new 
    profile['browser.startup.homepage_override.mstone'] = 'ignore' 
    profile['startup.homepage_welcome_url.additional'] = 'about:blank' 

    Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => profile) 
end 
Các vấn đề liên quan