【问题标题】:Host header or origin header is specified and is not localhost for selenium grid指定了主机标头或源标头,并且不是 selenium 网格的 localhost
【发布时间】:2019-09-28 16:53:56
【问题描述】:

我正在尝试使用最新的 chrome 和 chromedriver 设置硒网格。尝试运行测试时出现以下错误

Message: OpenQA.Selenium.WebDriverException : Unexpected error. Host header or origin header is specified and is not localhost.

在节点机器上,我看到 chrome 浏览器打开了,但随后它立即关闭并出现此错误:

[1557513678.682][SEVERE]: Rejecting request with host: <hub_IP_address>:4444

有人在使用 selenium 网格时遇到过这个问题吗?我正在使用:

  • selenium-server-standalone-4.0.0-alpha-1.jar 和
  • Chromedriver 74.0.3729.6 for windows
  • 我的 Chrome 浏览器正在运行 v.74.0.3729.108
  • JDK 12.0.1.0

这是我启动集线器的命令:

java -jar selenium-server-standalone-4.0.0-alpha-1.jar -role hub -hubConfig config.json

这是我启动节点的命令:

java -Dwebdriver.chrome.driver="C:\...\Browsers\ChromeDirectory\chromedriver.exe" -Dwebdriver.ie.driver="C:\...\Browsers\IEDirectory\x86\IEDriverServer.exe" -jar -Dwebdriver.edge.driver="C:\...\Browsers\Edge\MicrosoftWebDriver.exe" -jar "C:\...\selenium-server-standalone-4.0.0-alpha-1.jar" -role node -hub "http://<hub_IP_address>:4444/grid/register/" -nodeConfig "C:\...\config.json"

我尝试在 config.jsons 中使用“主机”属性。我尝试输入实际的 IP 地址和本地主机。但是集线器和节点显然是不同的机器,所以放 localhost 使得它们无法连接。但是当我没有本地主机时,它说它需要指定为本地主机?我很混乱!!主机属性应该包含什么?

我看到人们谈论量角器的环回属性,但我没有使用量角器。我尝试将 "loopback":true 放入我的节点和集线器 config.json 文件中,但似乎没有什么不同。

更新: 使用集线器的 4.0 alpha jar 和节点的旧 3.8 jar,我能够让网格成功运行。仍然在 Java 8 上。有点有趣。

【问题讨论】:

  • github.com/SeleniumHQ/selenium/wiki/… 我在这里找到了一些关于如何使用新的 selenium 4 jar 运行网格的信息,但是当我使用这些指令运行它时,我无法让网格和节点相互连接.

标签: selenium selenium-chromedriver selenium-grid


【解决方案1】:

我能够通过降级到 3.8.1 selenium grid jar 并安装 JDK 8 而不是 12 来使 selenium 网格工作。this other question 回答了我需要获取 java 8 的原因。我使用相同的 chrome 驱动程序和启动命令

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    相关资源
    最近更新 更多