gpt4 book ai didi

selenium-webdriver - 在 Windows 上设置 Selenium Grid 2

转载 作者:行者123 更新时间:2023-12-04 12:36:36 25 4
gpt4 key购买 nike

我正在 Windows 7(我也尝试过 Windows Server 2008)上设置 Selenium Grid 2 (selenium-server-standalone-2.1.0) 64 位。我在本地测试了 WebDriver,一切都很好。

我使用以下命令启动集线器:

java -jar selenium-server-standalone-2.1.0.jar -role hub

为 FireFox 添加 webDriver 节点有效,但其他任何东西(例如 Google Chrome)都会引发 IllegalOperation 异常。

例如:

我尝试为 Chrome 添加一个节点:

java -jar selenium-server-standalone-2.1.0.jar -role webDriver -hub http://127.0.0.1:4444 -browser browserName=chrome 平台=windows 版本=12 -port 5556

当您转到 http://localhost:4444/grid/console 时,这将显示为集线器上的一个节点

我添加了调用 webDriver 的代码,例如:

            DesiredCapabilities capability = new DesiredCapabilities();
capability.SetCapability(CapabilityType.Platform, "windows");
capability.SetCapability(CapabilityType.Version, "12");
capability.SetCapability(CapabilityType.BrowserName, "chrome");

IWebDriver driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4444/wd/hub"), capability);

我几乎立即得到一个异常(exception):

{“找不到:{platform=windows,browserName=chrome,version=12}”}

似乎甚至没有找到该节点。我是新手,这是我在设置中遗漏的东西吗? (Internet Explorer 也是如此,更改版本似乎也无济于事)。

我已经搜索了几个小时,但没有任何与异常匹配的东西似乎和我的问题一样通用。

最佳答案

IllegalOperation 异常 {"cannot find : {platform=windows, browserName... 是由于没有匹配的功能(它永远不会达到节点)引起的。

如果我在启动节点时使用一个配置文件来明确说明平台和浏览器,例如:

{
"capabilities":
[
{
"browserName":"firefox",
"maxInstances":1
},
{
"browserName":"chrome",
"platform":"WINDOWS",
"maxInstances":1
},
{
"browserName":"internet explorer",
"version":"9",
"platform":"WINDOWS",
"maxInstances":1
}
],
"configuration":
{
"cleanUpCycle":2000,
"timeout":30000,
"proxy":"org.openqa.grid.selenium.proxy.WebDriverRemoteProxy",
"maxSession":5,
"url":"http://[myIP]/wd/hub",

}
}

并使用此行启动集线器:
java -jar selenium-server-standalone-2.2.0.jar -role webdriver -nodeConfig myconfig.json -hub http://[myIP]:4444/grid/register

并创建如下功能:
DesiredCapabilities capability = new DesiredCapabilities();
capability.SetCapability(CapabilityType.Platform, "WINDOWS");
capability.SetCapability(CapabilityType.BrowserName, "internet explorer");

然后测试工作(您必须将 IE 中的所有区域设置为 protected )。
注意我确实注意到 windows 和 WINDOWS 一样是大写的,否则你会收到错误消息。

关于selenium-webdriver - 在 Windows 上设置 Selenium Grid 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6877825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com