Javascript Rails测试-检查警报是否存在抛出“未定义的方法'driver'”

Javascript Rails测试-检查警报是否存在抛出“未定义的方法'driver'”,javascript,ruby-on-rails,selenium,rspec,capybara,Javascript,Ruby On Rails,Selenium,Rspec,Capybara,我正在编写测试,我必须在点击按钮后检查页面上是否存在弹出警报。我找到了这条线,这条线应该可以达到目的,但它给了我一个错误 if session.driver.browser.switch_to.alert return true end 投掷 {}:ActionController::TestSession的未定义方法“driver” 我将RSpec与Capybara和Selenium驱动程序一起用于Javascript测试 以下是完整的测试: def alert_present?

我正在编写测试,我必须在点击按钮后检查页面上是否存在弹出警报。我找到了这条线,这条线应该可以达到目的,但它给了我一个错误

if session.driver.browser.switch_to.alert
  return true
end
投掷

{}:ActionController::TestSession的未定义方法“driver”

我将RSpec与Capybara和Selenium驱动程序一起用于Javascript测试

以下是完整的测试:

  def alert_present?
    if session.driver.browser.switch_to.alert
      return true
    end
    return false
  end

  it 'should display an alert to confirm the deletion', :driver => :selenium do
    click_on 'delete_submit'
    expect(alert_present?).to eq true
  end

将session.driver.browser.switch_to.alert替换为page.driver.browser.switch_to.alert

驱动程序是否实例化过?如果是,在哪里?我不知道为什么会话会替换我代码中的页面。。。我要看看这两个解决方案,但选错了。它与page.driver一起工作…这将返回相同的错误,因为没有驱动程序的方法用相同的东西替换它@艾拉德利尔