ID середовища селену - команда зачекати 5 секунд


90

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

Мої команди:

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

Відповіді:


107

За допомогою команди паузи введіть кількість мілісекунд у полі Ціль.

Встановіть швидкість якнайшвидшу (Дії -> Найшвидша), інакше це не спрацює.


Дякую! Я ввів команду, але Селен не робить паузи. Команда = пауза, значення = 10000
LaPhi

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 секунд
Ripon Al Wasim

1
Це божевільно, що вони роблять для цілі значення, яке потрібно чекати в мілісекундах. Любіть це. Дякую за розміщення цього повідомлення, оскільки я навіть не намагався ввести значення в ціль.
John Z

6

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

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

Тобто target: 5000і valueпорожній. Як вказує посилання:

пауза (час очікування)

Аргументи:

  • waitTime - кількість часу для сну (у мілісекундах)

Зачекайте вказану кількість часу (у мілісекундах)


4

Ваша найкраща ставка - це waitForConditionнаписання функції JavaScript, яка повертає істину при завантаженні карти.


Дякуємо за ваш коментар! Але чи існує зараз спосіб OOTB зачекати x секунд?
LaPhi

1
Ні, немає прямого способу просто зачекати х секунд. Перегляньте повний список підтримуваних команд .
сильно кофеїн

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, оскільки це робить ваші тести ненадійними


Набагато кращий варіант у
Селені

0

Команда паузи може бути використана безпосередньо в ide у форматі html.

Якщо ви використовуєте Java або C, ви можете використовувати Thread.sleep (5000). Час у мілісекундах. Інші мови підтримують "sleep 5" або time.sleep (5). у вас є кілька варіантів просто очікувати встановлений час.


2
Thread.Sleep ніколи не є гарною ідеєю, і тому селен забезпечує примітиви очікування. Якщо ви використовуєте їх, ви можете вказати набагато вище значення часу очікування, що робить тести надійнішими, не уповільнюючи їх, оскільки умова може оцінюватися так часто, як це потрібно, наприклад. кожні 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.