簡體   English   中英

法術/水豚:無法登錄:js => true

[英]Sorcery/Capybara: Cannot log in with :js => true

我已經使用了水豚一段時間,但我是巫術的新手。 我有一個非常奇怪的問題,如果我在沒有Capybara的情況下運行規范:js => true功能我可以正常登錄,但是如果我嘗試在規范中指定:js => true,則無法找到用戶名/密碼。

這是身份驗證宏:

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

上面的代碼工作正常。 但是,如果我改變了場景規范(在這種情況下)

scenario "adding questions to a project" do

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

登錄失敗,並出現“用戶名/密碼錯誤”組合。 字面上唯一的變化是:js => true。 我正在使用默認的capybara javascript驅動程序。 (加載Firefox)

有什么想法可以在這里發生什么? 我完全難過了。 我正在使用Capybara 2.0.1,Sorcery 0.7.13。 登錄頁面上沒有javascript,在點擊“登錄”之前save_and_open_page確認在用戶名/密碼字段中輸入了正確的詳細信息。 任何建議真的很感激 - 我很茫然。

根據capybara doc,默認的capybara javascript驅動程序是Selenium。 由於Selenium在單獨的線程中執行,因此您必須禁用事務夾具,否則Selenium線程將無法訪問您在數據庫中創建的數據。 請參閱https://github.com/jnicklas/capybara#using-capybara-with-testunit 該部分有關於禁用事務性裝置的這些注釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM