2012-11-21 18 views
7

Mam obecnie aplikację rails, która używa rspec i watir-webdriver do moich testów integracyjnych. Chcę uruchomić testy integracyjne w przeglądarce bezgłowej (w celu zwiększenia prędkości). Ponieważ mój rozwój odbywa się na macu klejnot bez głowy nie zadziała dla mnie. Szukam rozwiązania phantomjs. Podczas gdy phantomjs działa dobrze z rspec/capybara (przez poltergeist) i jest mnóstwo przykładów na to, jak wykonać tę pracę, nie mogę znaleźć zbyt wiele, by sprawić, by działała dobrze z watir-webdriverem i ghostwrverem.watir-webdriver phantomjs i ghostdriver

Zbudowałem "specjalny" phantomjs, którego potrzebuje ghostdriver, ale jestem zagubiony po tym. Czy ktoś wcześniej używał tej konfiguracji (rails/watir-webdriver/ghostdriver)?

Moim głównym celem jest przyspieszenie testów integracyjnych. Więc jeśli ktoś ma lepsze sugestie niż to, co opisałem tutaj, jestem elastyczny :)

Każda pomoc jest bardzo doceniana!

+0

I szturchnął wokół i nic nie widział oczywiste bez głowy. Czy rozważałeś uruchomienie linuksa Virtualbox do uruchamiania testów? –

Odpowiedz

21

To jest teraz w pełni obsługiwany przez Watir-WebDriver i łatwo się pracuje:

kroki, aby praca na OSX

  • Najpierw upewnij się, że homebrew zainstalowany
  • aktualizacja napar
  • napar zainstalować phantomjs
  • Uruchom irb i zacznij używać GhostDriver!
require 'watir-webdriver' 
b = Watir::Browser.new :phantomjs 
b.goto "www.google.com" 
b.url #"http://www.google.com.au/" 
b.title #"Google" 

Zobacz szczegóły na tym blogu: http://watirmelon.com/2013/02/05/watir-webdriver-with-ghostdriver-on-osx-headless-browser-testing/

+1

Ponadto należy pamiętać, że należy zainstalować najnowszą wersję selen-webdriver. Z 2.25.0 osób zgłasza, że ​​nie może zainicjować. Aktualizacja do selenu-webdriver-2.31.0 pozwoliła sterownikowi pracować z phantomjs. – flup

+0

Proszę, pomóż mi. Chcę wyłączyć informacje rejestrowania dla phantomjs tutaj - http://stackoverflow.com/questions/28117205/how-do-i-turn-off-the-logging-for-phantomjs-in-watir-webdriver – stack1