Почему несколько параллельных экземпляров веб-драйвера в Windows совместно используют одно chrome окно, а не в Linux? - PullRequest
1 голос
/ 14 апреля 2020

Мы используем Junit5 + Selenium / Webdriver для запуска параллельных тестов.

junit-platform.properties имеет следующие настройки:

junit.jupiter.execution.parallel.enabled = true
junit.jupiter.execution.parallel.mode.default = concurrent
junit.jupiter.execution.parallel.mode.classes.default = concurrent
junit.jupiter.execution.parallel.config.dynamic.factor = 1.5
junit.jupiter.execution.parallel.config.strategy = dynamic

The Test *. java:

public class TestSuiteParallel extends TestSuite {

  @RepeatedTest(2)
  void testParallel() {
    WebDriver driver = new ChromeDriver();
    driver.get("https://www.amazon.com")
    driver.quit();
  }

}

При работе в Linux все работает отлично, у нас есть несколько Chromium windows, обрабатываемых отдельно каждым рабочим потока. Безголовый или нет, он работает.

Работает в Windows, всегда открыто только ОДНО Chrome окно с несколькими вкладками. И иногда работает только последняя открытая вкладка (на переднем плане). В основном все вкладки заморожены, ничего не происходит, через несколько секунд мы получаем WebDriverException: unknown error: Chrome failed to start: crashed

Если я изменяю код на @RepeatedTest(1), он работает без ошибок, как ожидалось.

Так почему это работает так иначе? Могу ли я заставить WebDriver всегда открывать отдельный браузер windows? А может, это скорее настройка операционной системы?

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