gpt4 book ai didi

ruby-on-rails-3 - 如何配置 capybara 与Poltergeist一起使用?

转载 作者:行者123 更新时间:2023-12-04 06:37:28 26 4
gpt4 key购买 nike

我有一个RSpec集成测试,需要执行一些JavaScript。我已经包含了Poltergeist并安装了PhantomJS,但是每当运行示例时,都会出现此错误:

Failure/Error: page.execute_script("$('form')[0].submit();")
Capybara::NotSupportedByDriverError:
Capybara::Driver::Base#execute_script

规范是:
require 'spec_helper'

describe "Signup", :type => :feature do
describe "workflow" do
it "ensures entry of contact information" do
visit 'signup/action'
# snip - use Capybara to fill out form elements
page.execute_script("$('form')[0].submit();")
page.should have_content("Name can't be blank")
page.should have_content("Email can't be blank")

# snip - use Capybara to fill out more form elements
page.execute_script("$('form')[0].submit();")
page.should have_content("Next page")
end
end
end

我认为问题是我不确定如何指示Capybara应该使用Poltergeist作为其JavaScript驱动程序。 Poltergeist documentation说:

Installation

Add poltergeist to your Gemfile, and in your test setup add:


require 'capybara/poltergeist'
Capybara.javascript_driver = :poltergeist

但是,它没有说具体应该放入哪个文件。它 also says:

Customization

You can customize the way that Capybara sets up Poltegeist via the following code in your test setup:


Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, options)
end

但是我不清楚是否或何时需要将其包含在测试中。再说一次,我不确定如果需要的话放在哪里。

我想念什么?
  • 我需要在哪里放置Capybara和Poltergiest的配置,以及它到底要说什么(或者我如何自己确定)?
  • 我错过了一个步骤或一块配置吗?
  • 最佳答案

    尝试将js: true放在您的描述行中。我知道我必须针对工作中的应用程序的功能规范执行此操作:

    describe "Signup", :type => :feature, :js => true do

    我没有看到其他配置。是前一段时间,当我设置它时:)

    您只需在RSpec.configure块之前调用Capybara驱动程序配置方法:
    Capybara.default_selector = :css
    Capybara.register_driver :poltergeist do |app|
    Capybara::Poltergeist::Driver.new(app, :window_size => [1920, 1080], :phantomjs_logger => nil)
    end
    Capybara.javascript_driver = :poltergeist
    RSpec.configure do |config|

    另外,请确保对数据库清理器使用截断而不是事务处理。 Poltergeist在单独的线程上运行,因此如果您使用事务性数据库,则可能会遇到奇怪的数据库问题。

    编辑

    啊,在这里提到了js真实的东西:capybara自述文件中的 https://github.com/jnicklas/capybara#using-capybara-with-rspec

    关于ruby-on-rails-3 - 如何配置 capybara 与Poltergeist一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24415786/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com