[英]why selenium.isConfirmationPresent() returns true after using chooseCancelOnNextConfirmation
我有類似以下的代碼
selenium.chooseCancelOnNextConfirmation() ;
selenium.click(“ deleteRequest”); //單擊按鈕將顯示確認對話框
System.out.println(“是確認存在” + selenium.isConfirmationPresent() );
即使我正在使用selenium.chooseCancelOnNextConfirmation(),也請讓我知道為什么selenium.isConfirmationPresent()返回true。
但是selenium.isConfirmationPresent()在之后返回false
selenium.getConfirmation() ;
是否必須使用selenium.getConfirmation(),因為我無法進行進一步處理。 它說
com.thoughtworks.selenium.SeleniumException:錯誤:發生意外的確認! [確定要刪除選定的請求嗎?] com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:9)上的com.thoughtworks.selenium.HttpCommandProcessor.throwAssertionFailureExceptionOrError(HttpCommandProcessor.java:97)
這是預期的行為。 selectCancelOnNextConfirmation()決定getConfirmation()的行為。 調用getConfirmation()有效地“消耗”了確認彈出窗口。 在繼續測試之前,必須使用getConfirmation或verifyConfirmation ,因為如果不使用getConfirmation調用處理彈出窗口,則任何其他Selenium命令都將失敗。
默認情況下,確認函數將返回true,與手動單擊“確定”具有相同的效果。 可以通過事先執行chooseCancelOnNextConfirmation命令來更改此設置。 如果生成確認,但您沒有得到/驗證,則下一個Selenium操作將失敗。
因此,您的代碼可能是:
selenium.chooseCancelOnNextConfirmation();
selenium.click("deleteRequest")
selenium.getConfirmation();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.