2012-12-10 15 views
15

Pracuję nad testem integracji Ruby On Rails przy użyciu kapibara, Selenium.Jak ustawić rozmiar okna przeglądarki w Rspec (Selenium)

Jak ustawić testowanie okna przeglądarki Wysokość i szerokość?

Szukałem, ale nic nie działa dobrze dla mnie.

Próbowałem wykonać kod.

page.execute_script('$(window).width(1200)') 

Czy ktoś może. Proszę.

Odpowiedz

26

Możesz użyć metody resize_to(width, height), która jest częścią selenowego webdrivera.

Na przykład, co następuje stałaby przeglądarkę 100px szerokości i 200px wysoki:

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

I rafinowany również to rozwiązanie następujące: 'page.br ... 00), jeżeli page.driver.browser.respond_to? "zarządzaj", co pozwala na testowanie w trybie bezgłowym –

+1

'page.driver.browser.manage.window.resize_to (1280,800), jeśli page.driver.browser.respond_to? 'manage'' # działa tylko wtedy, gdy: selen jest javascript_driver – Magne

4

to pomoże to dla mnie:

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

To działało również dla mnie, dzięki – Tom

0

budynku na pomocne odpowiedzi Justin KO:

Jak o zaimportowaniu modułu responsive_helper do pliku spec? Na przykład,

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!

Powiązane problemy