Какой самый надежный веб-драйвер .net selenium?

При использовании веб-драйверов .net selenium я столкнулся с двумя основными проблемами, каждая из которых относится к другому конкретному веб-драйверу.

В таблице ниже показаны проблемы, с которыми мне не справились веб-драйверы Chrome и Firefox:

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

Я использую RellYa's selenium jquery extensions.

Веб-драйвер Chrome случайным образом выдает исключение jQuery not found. Если я попытаюсь пару раз, у меня в конце концов получится.

С веб-драйвером Firefox этого никогда не происходило. С другой стороны, Firefox бросает

Unable to bind to locking port 7054 within 45000 ms

Исследования показывают, что причина этого в том, что я, должно быть, оставил другой веб-драйвер Firefox не закрытым/не закрытым. Но это побеждает мое использование селена для автоматизации веб-задач в многопоточном режиме. Я имею в виду, что после открытия пары потоков кажется, что он достигает некоторого предела и ждет закрытия одного из открытых веб-драйверов.

На самом деле, из этой документации веб-драйвера firefox они дайте понять, что должен работать только один экземпляр. Что делать тогда, если он имел в виду многопоточность?

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


person Veverke    schedule 30.07.2015    source источник


Ответы (1)


Нет, вы можете запускать несколько экземпляров firefox, chrome или чего-то еще со своего компьютера в любой момент времени. Если вы изучите «Selenium Grid», вы увидите, что он предназначен для этого.

So:

  1. Сообщение о невозможности привязки в Firefox не вызвано блокировкой порта другим драйвером. Каждый экземпляр драйвера запускается на своем открытом порту.

  2. Если вы не используете Selenium Grid или не используете сетку и пытаетесь справиться с многопоточностью самостоятельно, просто следите за тем, как вы открываете и закрываете браузеры на этапах @Configuration в средстве запуска тестов.

  3. Как обоснованное предположение, если у вас есть нестабильность, это, скорее всего, потому, что вы пытаетесь управлять более новым браузером со слишком старой версией Selenium? Нам нужна дополнительная информация по вашему вопросу, например пример проекта для просмотра.

person djangofan    schedule 30.07.2015
comment
Спасибо за подсказки, разберу их подробно. Хотя что касается сетки, если я правильно понял, она предназначена для параллельной обработки, а не для многопоточности. Нет ? - person Veverke; 30.07.2015
comment
Правильно, вы обрабатываете параллельные прогоны с помощью своего тестового бегуна. Сетка может потреблять сигналы от параллельного запуска и управлять несколькими браузерами. - person djangofan; 31.07.2015
comment
с учетом сказанного, это не совсем то, что я ищу. Мне просто нужно простое многопоточное решение. - person Veverke; 02.08.2015