Подтвердить что ты не робот

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! в журнале, и тестовый пример терпит неудачу.

Любые предложения?

4b9b3361

Ответ 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 (шаблон)