我在Docker容器中使用Canopy,并希望将端口指定为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(拒绝连接)&lt; --- Docker容器中的多个
启动ChromeDriver 2.35.528139 (47ead77cb35ad2a9a83248b292151462a66cd881)在端口36479上&lt; - 如何指定?
答案 0 :(得分:0)
没有简单的方法!
Canopy 如何通过调用OpenQA.Selenium.Chrome.ChromeDriverService.CreateDefaultService("<path to the chromedriver executable on runner machine>")
启动 WebDriver 实例。 (当然,对于所有其他浏览器都是如此)。
问题是这种方法,根据文档,按定义返回 random 端口(这样做是为了确保并行运行不会获得相同的端口并崩溃。发生这种情况的可能性是,幸运的是,低)。
您可以尝试做类似let a = OpenQA.ChromeDriverService.CreateDefaultService("<path>")
的操作,然后再进行a.Port <- <port number>
,但是,我不知道如何使用结果WebDriverService
作为我们的跑步者测试。
port=4444
上的ChromeOptions
位不起作用,因为它不是Chrome(通常是浏览器)选项。这是 WebDriver 之一。
我在项目的tracker上发布了一个问题。希望我们能尽快得到答案...