Selenium IDE - команда ждать 5 секунд


90

Я использую Selenium IDE для Firefox и ищу команду ожидания. Моя проблема в том, что я хочу протестировать веб-сайт со встроенной внешней картой. Для загрузки этой внешней карты требуется 3-5 секунд.

Мои команды:

open /Page/mysite.html
//Wait Command? (5 seconds)
ClickAndWait link=do something

Ответы:


107

Используйте команду паузы и введите количество миллисекунд в поле Target.

Установите максимальную скорость (Действия -> Самая быстрая), иначе это не сработает.


Спасибо! Я понял команду, но Selenium не останавливается. Command = pause, Value = 10000
ЛаФи

53
Используйте Targetвместо Value. Command = Pause, Target = 1000.
khairul

1
@Khairul рад, что вы добавили этот комментарий, это сводит меня с ума, почему pause()не работает!
cchana

Скорость не имеет отношения к команде паузы, вместо этого @Khairul говорит: поместите ее в цель.
Мендхак

когда вы делаете паузу в конце тестового примера при запуске набора тестов, это не сработает
Альфонсо Фернандес-Окампо

85

Это задержит на 5 секунд:

Команда: пауза
Цель: 5000
Значение:

Это задержит на 3 секунды:

Команда: пауза
Цель: 3000
Значение:

Документация:

http://release.seleniumhq.org/selenium-core/1.0/reference.html#pause

введите описание изображения здесь введите описание изображения здесь


2
Итак, выставляем 5000 на 5 секунд
Рипон Аль Васим

1
Это безумие, что они заставили цель ждать значение в миллисекундах. Любить это. Спасибо, что разместили это, так как я даже не пытался ввести значение в цель.
John Z

6

Для тех, кто работает ant, я использую это для обозначения паузы в 5 секунд:

<tr>
    <td>pause</td>
    <td>5000</td>
    <td></td>
</tr>

То есть target: 5000и valueпусто. Как указано в ссылке:

пауза (время ожидания)

Аргументы:

  • waitTime - время до сна (в миллисекундах)

Подождите указанное время (в миллисекундах)


4

Лучше всего, вероятно, waitForConditionнаписать функцию javascript, которая возвращает true при загрузке карты.


Спасибо за ваш комментарий! Но есть ли теперь способ OOTB подождать x секунд?
LaPhi

1
Нет, нет прямого способа просто подождать x секунд. См. Полный список поддерживаемых команд .
сильно кофеин

2
пауза x000 секунд будет ждать x секунд
Thunder Rabbit

1

Это сделает то, что вы ищете в C # (WebDriver / Selenium 2.0)

var browser = new FirefoxDriver();
var overallTimeout = Timespan.FromSeconds(10);
var sleepCycle = TimeSpan.FromMiliseconds(50);
var wait = new WebDriverWait(new SystemClock(), browser, overallTimeout, sleepCycle);
var hasTimedOut = wait.Until(_ => /* here goes code that looks for the map */);

И никогда не используйте Thread.Sleep, потому что это делает ваши тесты ненадежными.


Гораздо лучший вариант в Selenium 2
craastad

0

Команду паузы можно использовать прямо в ide в формате html.

Если вы используете java или C, вы можете использовать Thread.sleep (5000). Время в миллисекундах. Другие языки поддерживают "sleep 5" или time.sleep (5). у вас есть несколько вариантов ожидания определенного времени.


2
Thread.Sleep никогда не бывает хорошей идеей, поэтому Selenium предоставляет примитивы ожидания. Если вы используете их, вы можете указать гораздо более высокое значение тайм-аута, что сделает тесты более надежными, не замедляя их, так как условие можно оценивать так часто, как это требуется, например. каждые 50 мс.
Павел Пабич

Мой ответ в thread.sleep связан только с ответом на вопрос, как заставить его ждать в ide. Поскольку пауза переводится в thread.sleep при преобразовании из html в java или c в ide.
rattlerbred

0

Перед командой clickAndWaitдобавьте следующий код, чтобы скрипт ждал, пока не станет видима конкретная ссылка:

   <tr>
        <td>waitForVisible</td>
        <td>link=do something</td>
        <td></td>
    </tr>

Практика использования команд ожидания вместо паузы в большинстве случаев более эффективна и стабильна.


0

Это подождет, пока не появится ваша ссылка, после чего вы сможете по ней щелкнуть.

Command: waitForElementPresent Target: link=do something Value:


0

Я обнаружил, что работает на тестируемом мной сайте:

waitForCondition | selenium.browserbot.getUserWindow (). $. active == 0 | 20000

Клендату


0

В Chrome для "Selenium IDE" я также боролся, чтобы он не приостанавливался. Он будет приостановлен, если вы укажете, как показано ниже:

  • Команда: пауза
  • Цель: пусто
  • Стоимость: 10000

Это будет приостановлено на 10 секунд.


1
Целевое значение должно быть 10000, а значение должно быть пустым
Sirmyself

Не уверен, какой плагин браузера вы пытаетесь использовать, но у меня он отлично работал в Chrome. Также зависит, какое расширение вы используете.
TechSingh
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.