Selenium IDE - неожиданное подтверждение! - PullRequest
17 голосов
/ 14 января 2010

У меня есть кнопка, которая отображает всплывающее окно подтверждения Javascript. Это часть моего теста:

<tr>
    <td>clickAndWait</td>
    <td>buttonId</td>
    <td></td>
</tr>
<tr>
    <td>verifyTextPresent</td>
    <td>Object has been deleted</td>
    <td></td>
</tr>

Работает как положено: во всплывающем окне автоматически нажимается OK, а verifyTextPresent возвращает true. Тем не менее, я получаю [error] There was an unexpected Confirmation! в журнале и тест не проходит.

Есть предложения?

Ответы [ 4 ]

24 голосов
/ 14 января 2010

Сводка: в IDE используйте storeConfirmation.

Вы должны использовать диалоги подтверждения.В противном случае тест Selenium завершится неудачей.

Из API Java Selenium RC Selenium.html.getConfirmation метод:

Если подтверждение генерируется, но вы не делаетепри использовании метода getConfirmation следующее действие Selenium завершится неудачей.

Редактировать:

storeConfirmation также принимает подтверждение.

storeConfirmation (variableName)

Извлекает сообщение диалога подтверждения JavaScript, созданного во время предыдущего действия.

Если подтверждение генерируется, новы не используете его методом getConfirmation, следующее действие Selenium завершится неудачей.

8 голосов
/ 22 марта 2010

Я столкнулся с той же проблемой, и решил ее так:

chooseOkOnNextConfirmation нажмите 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>
1 голос
/ 27 февраля 2013

с использованием selenium.chooseOkOnNextConfirmation является правильным, но вместо использования только этого использования

selenium.click("xpath=//button"); selenium.getConfirmation(); selenium.chooseOkOnNextConfirmation(); Здесь сначала нужно нажать на кнопку и получить подтверждение, а затем нажать кнопку ОК из этого подтверждения

0 голосов
/ 17 сентября 2013

В Selenium IDE вы можете использовать waitForConfirmation (pattern)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...