Как установить порт ChromeDriver в Canopy (библиотека селена)?
Я использую Canopy в контейнере Docker и хотел бы указать порт 4444 вместо последнего случайного, назначенного при вызове canopy.core.start из-за множественных ошибок подключения. Ошибка: ConnectFailure (Соединение отклонено) - или ошибка запустить драйвер.
let chromeOptions = OpenQA.Selenium.Chrome.ChromeOptions()
chromeOptions.AddArgument("--no-sandbox")
chromeOptions.AddArgument("--disable-extensions")
chromeOptions.AddArgument("--disable-gpu")
chromeOptions.AddArgument("--disable-client-side-phishing-detection")
chromeOptions.AddArgument("--disable-suggestions-service")
chromeOptions.AddArgument("--safebrowsing-disable-download-protection")
chromeOptions.AddArgument("--no-first-run")
chromeOptions.AddArgument("--allow-insecure-localhost");
chromeOptions.AddArgument("--port=4444"); // Not taking effect; see below
let chromeNoSandbox = ChromeWithOptions(chromeOptions)
canopy.configuration.chromeDir <- "."
start chromeNoSandbox
Ошибка: ConnectFailure (соединение отклонено) <--- Несколько из них в контейнере Docker
Запуск ChromeDriver 2.35.528139 (47ead77cb35ad2a9a83248b292151462a66cd881) через порт 36479 <- как это указать?
0 ответов
Нет простого способа сделать это!
Как Canopy запускает экземпляр WebDriver, вызываяOpenQA.Selenium.Chrome.ChromeDriverService.CreateDefaultService("<path to the chromedriver executable on runner machine>")
. (Где, конечно, это верно для всех остальных браузеров).
Проблема в том, что этот метод, согласно документации, по определению возвращает случайный порт (это сделано для того, чтобы при параллельных запусках не получался один и тот же порт и не происходил сбой. Шансы на это, к счастью, невелики).
ты мог бы попробовать сделать что-нибудь вроде let a = OpenQA.ChromeDriverService.CreateDefaultService("<path>")
с последующим a.Port <- <port number>
, но я не знаю, как использовать полученныйWebDriverService
как исполнитель наших тестов.
В port=4444
немного на ChromeOptions
не работает, потому что это не вариант Chrome (или браузера, в общем). Это WebDriver.
Я разместил вопрос на трекере проекта. Надеюсь, скоро мы получим ответ...