2012-12-14 22 views
5

Bir süredir capibbara kullanıyorum ama büyüğüm için yeniyim. Çok garip bir problemim var: eğer Capybara's olmadan özellikleri çalıştırırsam: js => true işlevsellik iyi bir şekilde girebilirim, ama eğer belirtmeye çalışırsam: js => spec üzerinde, kullanıcı adı/şifre bulunamaz.Sorcery/Capybara: ile giriş yapamıyorum: js => true

İşte doğrulama makro var: Böyle gözlük denir

module AuthenticationMacros 
    def sign_in 
    user = FactoryGirl.create(:user) 
    user.activate! 
    visit new_sessions_path 
    fill_in 'Email Address', :with => user.email 
    fill_in 'Password', :with => 'foobar' 
    click_button 'Sign In' 
    user 
    end 
end 

:

feature "project setup" do 
    include AuthenticationMacros 

    background do 
    sign_in 
    end 

    scenario "creating a project" do 
    "my spec here" 
    end 

yukarıdaki kod çalışıyor. Ben

scenario "adding questions to a project" do 

scenario "adding questions to a project", :js => true do 

için (bu durumda) den senaryo spec değiştirmek EĞER Ancak, giriş 'Hatalı kullanıcı adı/şifre' kombinasyonu ile başarısız olur. Tam anlamıyla tek değişiklik şudur: js => true. Varsayılan capybara javascript sürücüsünü kullanıyorum. (Firefox'u yükler)

Burada neler olabileceği hakkında bir fikrin var mı? Tamamen güldüm. Capybara 2.0.1, Sorcery 0.7.13 kullanıyorum. Oturum açma sayfasında herhangi bir javascript yoktur ve 'oturum aç' seçeneğini tıklamadan önce save_and_open_page, kullanıcı adı/şifre alanlarına doğru bilgilerin girildiğini doğrular. Herhangi bir öneri gerçekten takdir edildi - Kaybettim.

cevap

8

Varsayılan capybara javascript sürücüsü capybara belgesine göre Selenyum'dur. Selenium ayrı bir iş parçacığı içinde yürütüldüğü için, işlemsel bağlantı noktalarını devre dışı bırakmanız gerekir veya Selenium iş parçacığı veritabanında oluşturduğunuz verilere erişemez. Bakınız https://github.com/jnicklas/capybara#using-capybara-with-testunit. Bu bölüm, işlemsel demirbaşların kapatılmasına ilişkin bu notlara sahiptir.

+0

Ach! Tabii ki! Çok teşekkürler, çok takdir ediyorum. – PlankTon

İlgili konular