click / click и не работает - PullRequest
8 голосов
/ 13 сентября 2010

Записанный тестовый скрипт включает в себя поиск Google.

После нажатия «Поиск Google» следующим действием было нажатие на ссылку в результатах теста, однако во время воспроизведения это происходит до того, как браузер загрузил результаты, поэтому решение, по-видимому, заключалось в добавлении задержки после поиск. Я пробовал это двумя способами:

  • изменение "click" на "clickAndWait" со значением 1000. Это плохо работает. Значение 1000 не меняет значение по умолчанию 30000 мс, и воспроизведение занимает 30 с, чтобы завершить этот шаг.

  • вызов «setTimeout» перед щелчком со значением 1000. Это не влияет на поведение времени ожидания clickAndWait.

Вот сценарий:

<tr>
        <td>open</td>
        <td>/</td>
        <td></td>
</tr>
<tr>
        <td>type</td>
        <td>q</td>
        <td>test search</td>
</tr>
<tr>
        <td>setTimeout</td>
        <td></td>
        <td>1000</td>
</tr>
<tr>
        <td>clickAndWait</td>
        <td>btnG</td>
        <td>1000</td>
</tr>
<tr>
        <td>click</td>
        <td>link=CLEP Test Center Search</td>
        <td></td>
</tr>
<tr>
        <td>clickAndWait</td>
        <td>link=Home</td>
        <td></td>
</tr>

Если кто-нибудь может посоветовать, большое спасибо.

1 Ответ

12 голосов
/ 14 сентября 2010

Я бы порекомендовал другое решение, добавив команду waitForElementPresent перед щелчком по ссылке.

  • open /
  • type q test search
  • click btnG
  • waitForElementPresent link = Поиск Центра тестирования CLEP
  • нажмите ссылку = Поиск Центра тестирования CLEP
  • Ссылка waitForElementPresent = Главная
  • Нажмите ссылку = Home

Хорошее объяснение можно найти в http://www.infoq.com/articles/testing-ajax-selenium

...