我目前正在使用Selenium Grid运行Chrome测试,并使用默认的4444和5555端口在集线器和节点之间进行通信。 一切都运行正常,但我确实看到在selenium节点上启动了多个chromedrivers,每个chromedrivers都听一个看似随机(尽管可用)的端口号。
我使用命令
看到了这一点netstat -tulpn | grep chromedriver
返回例如
tcp 0 0 127.0.0.1:18955 0.0.0.0:* LISTEN 51665/chromedriver
tcp 0 0 127.0.0.1:17932 0.0.0.0:* LISTEN 51365/chromedriver
tcp 0 0 127.0.0.1:34668 0.0.0.0:* LISTEN 51206/chromedriver
tcp 0 0 127.0.0.1:43629 0.0.0.0:* LISTEN 51219/chromedriver
tcp 0 0 127.0.0.1:5645 0.0.0.0:* LISTEN 10353/chromedriver
tcp 0 0 127.0.0.1:48782 0.0.0.0:* LISTEN 51221/chromedriver
tcp 0 0 127.0.0.1:26258 0.0.0.0:* LISTEN 51271/chromedriver
tcp 0 0 127.0.0.1:19699 0.0.0.0:* LISTEN 51308/chromedriver
tcp 0 0 127.0.0.1:36787 0.0.0.0:* LISTEN 51207/chromedriver
tcp 0 0 127.0.0.1:28180 0.0.0.0:* LISTEN 51663/chromedriver
tcp 0 0 127.0.0.1:29076 0.0.0.0:* LISTEN 51295/chromedriver
通常情况下这是可以的,但偶尔他们会使用Xvnc使用的9500> 9599范围内的端口,在启动和停止vncservers时会导致错误。
有没有办法强制chromedriver使用或避免特定范围的端口?使用ChromeDriverService的现有答案似乎只是为了解决本地运行时的chromedriver端口问题,并将端口设置为单个特定值。
答案 0 :(得分:0)
我对网格没有任何经验,但应该有chromedriver的方法,传递参数使用某些端口。我的不好,如果下面的命令不起作用。
- 测试 - 固定HTTPS端口
https://peter.sh/experiments/chromium-command-line-switches/#testing-fixed-https-port