在Selenium Driver中工作的Capybara Webkit驱动程序中的测试失败

时间:2014-05-18 21:41:38

标签: ruby-on-rails rspec capybara integration-testing capybara-webkit

我有以下rspec测试,它在默认的Selenium驱动程序中工作正常但在Capybara Webkit驱动程序中失败。

单击“注册”按钮时,它会使用支付网关在将表单发送到服务器之前验证信用卡是否有效。好像它没有在无头模式下向支付网关发送ajax请求。我怎么能为webkit驱动程序解决这个问题,因为我知道代码是正确的,因为相同的测试在Selenium中传递。

it "Subscribe to Plan", js: true do
  visit subscription_plans_path
  fill_in "user_email", :with => subscription_user_email
  fill_in "user_password", :with => "password"
  fill_in "Name", :with => "John Doe"
  fill_in "new_credit_card_field", :with => "4242424242424242"
  fill_in "security_code", :with => "123"
  select (Time.zone.now.year + 1), :from => "date_year"
  click_button "Sign up"

  page.should have_content('Dashboard')
end

1 个答案:

答案 0 :(得分:1)

您最好的选择是使用Selenium驱动程序而不是使用Webkit驱动程序进行与javascript相关的测试。