2012-12-10 3 views

Antwort

26

Sie können die resize_to(width, height)-Methode verwenden, die Teil des Selenium-Webdrivers ist.

Zum Beispiel würde folgendes machen den Browser 100px breit und 200px hoch:

page.driver.browser.manage.window.resize_to(100,200) 
+1

ich verfeinert auch diese Lösung wie folgt: 'page.br ... 00), wenn page.driver.browser.respond_to? "manage", mit dem die Tests im Headless-Modus ausgeführt werden können –

+1

'page.driver.browser.manage.window.resize_to (1280.800) wenn page.driver.browser.responder_to? 'manage'' # läuft nur wenn: selen ist der javascript_driver – Magne

4

Es hilft 's für mich:

Capybara.register_driver :chrome do |app| 
    Capybara::Selenium::Driver.new(app, 
    browser: :chrome, 
    desired_capabilities: { 
     "chromeOptions" => { 
     "args" => %w{ window-size=1024,768 } 
     } 
    } 
) 
end 
+0

Das hat auch bei mir funktioniert, danke – Tom

0

Gebäude auf Justin Kos hilfreiche Antwort:

Wie über das Importieren eines responsive_helper Moduls in Ihre Spezifikationsdatei? Zum Beispiel

module ResponsiveHelpers 

    def resize_window_to_mobile 
    resize_window_by([640, 480]) 
    end 

    def resize_window_to_tablet 
    resize_window_by([960, 640]) 
    end 

    def resize_window_default 
    resize_window_by([1024, 768]) 
    end 

private 

    def resize_window_by(size) 
    Capybara.current_session.driver.browser.manage.window.resize_to(size[0], size[1]) if Capybara.current_session.driver.browser.respond_to? 'manage' 
    end 
end 

Check it out!