I\'m trying to test a JS confirmation dialog with Cucumber on Rails. I have a window.onbeforeunload event handler that will prompt you with a confirmation dialog if you try to n
There are various functions of selenium you can use to capture alerts/confirms.
They are not directly available with the webrat selenium implementation, but when using webrat's config.mode = :selenium
they can be used as follows:
Then /^I should see a JS alert$/ do
selenium.is_alert_present.should be_true
end
# or
Then /^I should see a "Are you sure?" JS confirm dialog$/ do
selenium.get_alert.should eql("Are you sure?")
end
# you can also click the OK/Cancel buttons on confirm boxes with
selenium.chooseOkOnNextConfirmation();
#and
selenium.chooseCancelOnNextConfirmation();
There are probably not the greatest tests, but gives you an idea. Internally selenium overrides the alert() and confirm() functions of JS so it can captures this information.
You can find more docs on the selenium faq or on your gem server