Capybara :: ElementNotFound: Unable to find xpath "/ html" without webrat

I cannot get Capybara to work in many of my integration tests.

When I visit certain pages, I get the following html:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> 

And therefore, when I try to use the have_content() selector, it causes the following error:

  Failure/Error: page.should have_content("HELLO") Capybara::ElementNotFound: Unable to find xpath "/html" 

Some of the pages of my applications that I can visit are just fine, but some others I cannot. There are even some pages that work in some places and not in others:

 require 'spec_helper' describe HomeController do it "shows the website description" do visit root_path puts page.html.length # ==> 108 (no html) ... end end require 'spec_helper' describe FlowsController do it "should do stuff" do visit root_path puts page.html.length # ==> 4459, works even if the exact same one didn't work in home_controller_spec! visit flows_path puts page.html.length # ==> 3402, works visit new_user_session_path puts page.html.length # ==> 3330, works within("form#new_user") do fill_in 'Email', :with => ' email@example.com ' fill_in 'Password', :with => 'password' click_on 'Sign in' end puts page.html.length # ==> 108, No html end end 

I read in this post that it was a mistake that might occur while using Capybara and webrat. But I do not use webrat at all, and I still get the error ...

Here is my gemfile:

 source 'https://rubygems.org' gem 'rails', '3.2.6' gem 'pg' gem 'thin' gem 'devise' # Gems used only for assets and not required # in production environments by default. group :assets do gem 'sass-rails', '~> 3.2.3' gem 'coffee-rails', '~> 3.2.1' gem 'uglifier', '>= 1.0.3' end # Add rspec for testing group :test, :development do gem "rspec-rails", "~> 2.0" gem "capybara" gem "factory_girl_rails" end gem 'jquery-rails' 
+4
source share
1 answer

Try passing String for a description instead of the Controller class

 describe "whatever" do ... end 
+5
source

Source: https://habr.com/ru/post/1432985/


All Articles