Как сделать снимок экрана каждые 10 секунд в селене? - PullRequest
0 голосов
/ 10 сентября 2018

Как сделать снимок экрана каждые 10 секунд в селене от начала TC до конца TC.

Скажите, что моя продолжительность TC составляет 100 сек. Мне нужно 10 скриншотов.

1 Ответ

0 голосов
/ 10 сентября 2018

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

Если бы у вас был один процесс, даже если после каждой команды вы проверяли, прошло ли 10 секунд, это никогда не будет ровно 10 секунд, поскольку вполне вероятно, что команда обрабатывается в тот момент. В итоге вы получите скриншоты неравных периодов между.

Даже если у вас запущено 2 процесса; Выполняя тестовые команды, а другие снимки экрана - ровно через 10 секунд, вы все равно столкнетесь с той же проблемой.

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

Если вам отчаянно нужны скриншоты каждые 10 секунд, то вы можете посмотреть на использование "GridExtras" (https://github.com/groupon/Selenium-Grid-Extras).. Это предоставляет конечной точке HTTP возможность делать скриншоты вне Selenium, а если у вас было 2 процесса, 2-й процесс может вызывать эту конечную точку каждые 10 секунд.

Не откладывайте на то, что она называется " Сетка Дополнительно". Я лично использую его для захвата видео без использования Selenium Grid, и вместо этого у меня есть автономный сервер Selen, работающий вдоль экземпляра Grid Extras.

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