我有以下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
答案 0 :(得分:1)
您最好的选择是使用Selenium驱动程序而不是使用Webkit驱动程序进行与javascript相关的测试。