2014-02-13 85 views
3

我試圖用RSpec,水豚和工廠女孩來測試我的網站的登錄功能。我總是會在終端中發現以下錯誤,但無法找到任何解決方案。當我使用save_and_open_page時,我收到一個空白頁。我希望有人知道什麼是錯的。謝謝!測試設計 - 水豚:: ElementNotFound:無法找到xpath「/ html」

這裏是test output

Failure/Error: expect(page).to have_text("Login successful.") 
    Capybara::ElementNotFound: 
     Unable to find xpath "/html" 
    # ./spec/features/navigation_spec.rb:49:in `block (2 levels) in <top (required)>' 

這是我sometest_spec.rb文件與相應的線路:

require 'spec_helper' 
include Warden::Test::Helpers 

describe "User login" do 
    it "log in normal user" do 

    Warden.test_mode! 

    user = create(:normal_user) 
    user.confirmed_at = Time.now 
    user.save 
    login_as(user, scope: :user) 

    expect(page).to have_text("Login successful.") 

    logout(:user) 
    Warden.test_reset! 
    end 
end 

這裏是我的factory_girl.rb文件

RSpec.configure do |config| 
    config.include FactoryGirl::Syntax::Methods 
end 

而且factories.rb文件

FactoryGirl.define do 
    factory :normal_user, class: User do 
    firstname "John" 
    lastname "Doe" 
    email "[email protected]" 
    password "thepassword" 
    admin false 
    end 
end 
+1

嘗試使用have_content而不是have_text ....不知道 –

+0

沒有沒有修復它。我也在其他地方成功使用了have_text。似乎login_as方法沒有任何重定向「影響」。 – Linus

回答

5

事實證明我必須在login_as之後手動visit a_path才能看到額外的登錄頁面內容。

相關問題