Rails测试 - 检查警报存在抛出“未定义方法`驱动程序'”

时间:2014-10-30 17:22:11

标签: javascript ruby-on-rails selenium rspec capybara

我正在编写测试,我必须在点击按钮后检查我的页面上是否存在警报弹出窗口。我发现这条线应该可以解决这个问题,但它会给我一个错误。

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

引发

  

{}的未定义方法`driver':ActionController :: TestSession

我正在使用带有Capybara和Selenium驱动程序的RSpec进行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

1 个答案:

答案 0 :(得分:-1)

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