我在网上尝试了几个例子,但没有运气.我期待确认删除链接的确认消息.最后一次尝试是下面的代码,但是导致了Capybara :: NotSupportedByDriverError错误.
def confirm_dialog
page.evaluate_script('window.confirm = function() { return true; }')
end
Run Code Online (Sandbox Code Playgroud) 我正在使用Cucumber + capybara + selenium来运行自动化测试,但我找不到断言显示javascript警报的方法.
这个问题似乎有一个硒的解决方案,但我无法弄清楚如何使用Capybara调用selenium对象.
有没有一种简单的方法来测试使用Capybara的警报?或者有解决方法吗?
我正在使用Devise并为用户删除自己帐户的情况编写测试但我仍然坚持如何调用确认框并单击确定.
这是链接和我的测试:
<p><%= link_to "Delete my account", registration_path(resource_name), :data => { :confirm => "Are you sure?" }, :method => :delete %></p>
Run Code Online (Sandbox Code Playgroud)
规格/请求/ users_spec.rb
scenario 'user deletes account' do
make_user_and_login
click_link('Account Settings')
page.should have_selector('title', :text => 'Account Settings')
click_link('Delete my account')
# Are You Sure?
# click OK in confirm box
# page.should etc.....
end
Run Code Online (Sandbox Code Playgroud)
怎么做?
我正在尝试用水豚和黄瓜测试一个帖子请求.我无法访问页面并按下链接发送请求,因为它有一个确认对话框,我没有使用javascript工作,所以我试图使用post方法,然后测试它是否重定向到适当的网址但是我得到了:
No response yet. Request a page first. (Rack::Test::Error)
Run Code Online (Sandbox Code Playgroud)
我的代码是:
page.driver.post url
page.driver.status_code.should be 302
follow_redirect!
Run Code Online (Sandbox Code Playgroud)
它工作正常,直到follow_redirect!.我试过page.driver.follow_redirects!但它也不起作用.
有帮助吗?