title: undefined local variable or method page (RSpec)
body: <h1>some_spec.rb</h1>
  
  <pre><code>require 'spec_helper'
  
  describe "Authentication." do  
   subject { page }
   let(:user) { FactoryGirl.create(:user) }
   before {visit new_user_session_path}
   describe "Login with username" do
    before do
     fill_in "Login",   with: user.username
     fill_in "Password",    with: user.password
     click_button "Sign in"
    end
    expect(page).to have_content('Signed in successfully.')    
   end
  describe "Login with email" do    
   before do
     fill_in "Login",   with: user.email
     fill_in "Password",    with: user.password
     click_button "Sign in"
   end
   expect(page).to have_content('Signed in successfully.')    
  end
  end
  </code></pre>
  
  <h1>spec_helper.rb</h1>
  
  <pre><code># This file is copied to spec/ when you run 'rails generate rspec:install'
  ENV["RAILS_ENV"] ||= 'test'
  require File.expand_path("../../config/environment", __FILE__)
  require 'rspec/rails'
  require 'rspec/autorun'
  require 'capybara/rails'
  
  # Requires supporting ruby files with custom matchers and macros, etc,
  # in spec/support/ and its subdirectories.
  Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
  
  # Checks for pending migrations before tests are run.
  # If you are not using ActiveRecord, you can remove this line.
  ActiveRecord::Migration.maintain_test_schema!
  
  RSpec.configure do |config|
    config.include FactoryGirl::Syntax::Methods
    # ## Mock Framework
    #
    # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
    #
    # config.mock_with :mocha
    # config.mock_with :flexmock
    # config.mock_with :rr
  
    # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
    config.fixture_path = "#{::Rails.root}/spec/fixtures"
  
    # If you're not using ActiveRecord, or you'd prefer not to run each of your
    # examples within a transaction, remove the following line or assign false
    # instead of true.
    config.use_transactional_fixtures = true
  
    # If true, the base class of anonymous controllers will be inferred
    # automatically. This will be the default behavior in future versions of
    # rspec-rails.
    config.infer_base_class_for_anonymous_controllers = false
  
    # Run specs in random order to surface order dependencies. If you find an
    # order dependency and want to debug it, you can fix the order by providing
    # the seed, which is printed after each run.
    #     --seed 1234
    config.order = "random"
    config.include Capybara::DSL
    config.include Rails.application.routes.url_helpers
  end
  </code></pre>
  
  <p>What's the problem? After run command terminal returned error: <code>undefined local variable or method 'page'</code>. </p>
  
  <p>The following question did not help me:
  <a href="https://stackoverflow.com/questions/19623345/rspeccapybara-undefined-local-variable-or-method">rspec+capybara undefined local variable or method</a></p>