Cucumber + testing JS alert

前端 未结 5 566
失恋的感觉
失恋的感觉 2021-02-04 07:05

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

5条回答
  •  攒了一身酷
    2021-02-04 07:40

    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

提交回复
热议问题