ruby-on-rails – Capybara :: ElementNotFound:无法在没有webrat的情况下找到xpath“ html”

ruby-on-rails – Capybara :: ElementNotFound:无法在没有webrat的情况下找到xpath“ html”,第1张

概述我不能让Capybara在我的许多集成测试中工作. 当我访问某些页面时,我得到以下html: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> 因此,当我尝试使用has_content()选择器时,它会引发以下错误: Failure/E 我不能让Capybara在我的许多集成测试中工作.

当我访问某些页面时,我得到以下HTML:

<!DOCTYPE HTML PUBliC "-//W3C//DTD HTML 4.0 Transitional//EN" "@R_419_6822@://www.w3.org/TR/REC-HTML40/loose.dtd">

因此,当我尝试使用has_content()选择器时,它会引发以下错误:

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

我可以访问的应用程序的某些页面很好,但其他一些我不能.甚至有些页面可以在某些地方使用,而不是在其他地方使用:

require 'spec_helper'describe HomeController do  it "shows the website description" do    visit root_path    puts page.HTML.length # ==> 108 (no HTML)    ...  endendrequire '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  endend

我在this post中读到,这是在同时使用Capybara和webrat时可能发生的错误.但我根本不使用webrat,我仍然得到错误……

这是我的Gemfile:

source '@R_419_6822@s://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 testinggroup :test,:development do  gem "rspec-rails","~> 2.0"  gem "capybara"  gem "factory_girl_rails"endgem 'jquery-rails'
解决方法 尝试传递一个String来描述,而不是Controller类

describe "whatever" do  ...end
总结

以上是内存溢出为你收集整理的ruby-on-rails – Capybara :: ElementNotFound:无法在没有webrat的情况下找到xpath“/ html”全部内容,希望文章能够帮你解决ruby-on-rails – Capybara :: ElementNotFound:无法在没有webrat的情况下找到xpath“/ html”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1280948.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存