Selenium IDE - Было неожиданное подтверждение!
У меня есть кнопка, которая отображает всплывающее окно подтверждения Javascript. Это часть моего тестового примера:
<tr>
<td>clickAndWait</td>
<td>buttonId</td>
<td></td>
</tr>
<tr>
<td>verifyTextPresent</td>
<td>Object has been deleted</td>
<td></td>
</tr>
Работает так, как ожидалось: ОК автоматически щелкает по всплывающему окну, а verifyTextPresent
возвращает true. Тем не менее, я получаю [error] There was an unexpected Confirmation!
в журнале, и тестовый пример терпит неудачу.
Любые предложения?
Ответы
Ответ 1
Сводка: в среде IDE используйте storeConfirmation.
Вы должны использовать диалоговые окна подтверждения. В противном случае тест Selenium не удастся.
Из API Java Selenium RC Метод Selenium.html.getConfirmation:
Если создается подтверждение, но вы не потребляете его метод getConfirmation, следующий селен действие не удастся.
Edit:
storeConfirmation также использует подтверждение.
storeConfirmation (variableName)
Получает сообщение о диалоговом окне подтверждения JavaScript созданный во время предыдущего действия.
Если создается подтверждение, но вы его не используете метод getConfirmation, следующий селен действие не удастся.
Ответ 2
Я столкнулся с той же проблемой, и я решил это следующим образом:
chooseOkOnNextConfirmation
click buttonId
assertConfirmation
Это делает мой тест зеленым в моей Selenium IDE.
Код для этого:
<tr>
<td>chooseOkOnNextConfirmation</td>
<td></td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>ctl00_CPHMain_ucFormDMS_grdDocumentList_ctl00_ctl04_btnDelete</td>
<td></td>
</tr>
<tr>
<td>assertConfirmation</td>
<td>Areyousureyouwanttodeletethisdocument?</td>
<td></td>
</tr>
Ответ 3
Использование selenium.chooseOkOnNextConfirmation верна, но в дополнение к использованию этого в одиночку используйте
selenium.click("xpath=//button");
selenium.getConfirmation();
selenium.chooseOkOnNextConfirmation();
Здесь он сначала щелкнет по кнопке и получит подтверждение, затем он нажмет OK из этого подтверждения.
Ответ 4
В Selenium IDE вы можете использовать waitForConfirmation (шаблон)