簡體   English   中英

為什么在使用selectCancelOnNextConfirmation后selenium.isConfirmationPresent()返回true

[英]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()有效地“消耗”了確認彈出窗口。 在繼續測試之前,必須使用getConfirmationverifyConfirmation ,因為如果不使用getConfirmation調用處理彈出窗口,則任何其他Selenium命令都將失敗。

默認情況下,確認函數將返回true,與手動單擊“確定”具有相同的效果。 可以通過事先執行chooseCancelOnNextConfirmation命令來更改此設置。 如果生成確認,但您沒有得到/驗證,則下一個Selenium操作將失敗。

因此,您的代碼可能是:

selenium.chooseCancelOnNextConfirmation();

selenium.click("deleteRequest")

selenium.getConfirmation();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM