2016-04-09 17 views
0

RSpec with Capybara kullanıyorum. js: true işaretli testlerde, varsayılan javascript sürücüsü (Selenium) kullanılır.JS testleri sırasında Capybara + Selenium'un tarayıcı penceresini açmasını durdurma

Testin kendisi geçiyor (aşağıya bakın), ancak bir Firefox penceresi açtığını farkettim ve testi çalıştırırken hemen kapatır. Aşağıda görebileceğiniz gibi, test oldukça basit ve orada herhangi bir yerde save_and_open_page gibi bir şey yok.

  1. Bunu neden yapıyorsunuz?
  2. Bunu devre dışı bırakmanın bir yolu var mı? Gelecekte birkaç düzine JS spec testim varsa, her biri için bir pencere açmak istemiyorum.

Teşekkürler! Selenyum sürücü testinde javascript yürütmek için firefox kullandığı için

# rails_helper 
require "spec_helper" 
require "rspec/rails" 
require "capybara/rails" 
require "capybara/rspec" 

# Test 
it "user can sign in", js: true do 
    visit root_path 
    click_tab("sign_up") 

    fill_in "session[email]", with: "[email protected]" 
    fill_in "session[password]", with: "gr4ce!" 
    click_submit 

    expect(current_path).to eq(home_index_path) 
end 

cevap

3

bu gerçekleşir. Bir tarayıcı penceresi açmayacak phantom.js gibi başsız bir tarayıcı kullanabilirsiniz. poltergiest gem, muhtemelen sizin aradığınız şeydir.

+0

Ah teşekkür ederiz! Bu yüzden selenyumun başsız modda çalıştırılması için bir seçenek yok mu? Firefox'u kesinlikle kullanmalı mıyım? – user2490003

+1

Bildiğim kadarıyla firefox kullanmalı. Bu gemiyi kullanarak phantom.js'yi kolayca değiştirebilmelisiniz. –

İlgili konular