2011-10-23 17 views
10

Mam sytuację, gdy używam (używając: sterownika selenu) wielu przeglądarek z Capybara do testowania mojego front-endu. Jak mogę zamknąć niektóre z nich używając Capybara, kiedy nie są potrzebne?Jak zamknąć przeglądarkę z Capybara?

Odpowiedz

7

Jeśli zakładki/okna są otwierane przy użyciu JavaScript, to JavaScript może je zamknąć. Możesz wykonać JS w teście Capybara używając page.execute_script.

page.execute_script "window.close();" 
+0

To nie działa na mnie, kiedy próbuje zamknąć ostatni Otwórz okno podczas korzystania z poltergeist/phantomjs, po prostu dla innych. –

1

Wewnątrz pliku env.rb wstawić ten kod

After do |scenario| 
print "OZONEEEEE" 
page.execute_script "window.close();" 
# restart Selenium driver 
Capybara.send(:session_pool).delete_if { |key, value| key =~ /selenium/i } 
end 
1

Jeśli chcesz, aby zamknąć wszystkie okna po zakończeniu każdego testu zamiast zamykać wszystkie okna na końcu garnitur testowej, spróbuj:

after do 
    Capybara.current_session.driver.quit 
end