Может ли Selenium использовать многопоточность в одном браузере?

Я хочу протестировать сеть в многопоточном потоке, но когда я открываю слишком много хромированных рекордеров, они используют слишком много памяти. Могу ли я использовать многопоточность в одном браузере?

Ответ 1

WebDriver не является потокобезопасным. Проблема безопасности потоков не в вашем коде, а в фактических привязках браузера. Все они предполагают, что будет только одна команда за раз (например, как настоящий пользователь). Но вы можете, с другой стороны, создать экземпляр одного экземпляра WebDriver для каждого потока, но он запустит несколько браузеров, которые будут потреблять больше памяти...

Надеюсь, что это поможет вам.... Добейтесь возврата, если у вас есть какие-либо вопросы

Ответ 2

Многопоточность должна выполняться в разных экземплярах Webdriver, поскольку сам Webdriver - это единственный поток.

Различные потоки могут запускаться на одном и том же Webdriver, но тогда результаты тестов не будут такими, какие вы ожидали. Позвольте мне объяснить это.

Когда вы используете многопоточность для запуска разных тестов на разных вкладках (это не невозможно, требуется немного кодирования), действия, которые вы будете выполнять, например, клавиши клика или отправки, перейдут на открытую вкладку, которая в настоящее время сфокусирована независимо теста. Это означает, что все тесты будут выполняться одновременно на одной вкладке с фокусом, а не на соответствующей вкладке.

Вы можете прочитать многопоточность в Webdriver.