首页 > 解决方案 > System.InvalidOperationException:转发新会话时出错,找不到:Capabilities {browserName:chrome,marionette:false}

问题描述

我正在尝试Selenium使用Grid.
当我运行测试时,我收到错误:

Message: System.InvalidOperationException : Error forwarding the new session cannot find : Capabilities {browserName: chrome, marionette: false, platform: WINDOWS}

chromedriver.exe在以下目录中:

F:\Selenium Projects\C#\Grid practice\automation\

我已将环境变量的路径从系统、控制面板设置为路径:

F:\Selenium Projects\C#\Grid practice\automation\

我的代码片段是:

public class Browsers : DriverClass
{
    public IWebDriver LaunchBrowser(string browser)
    {
        switch (browser)
        {
            case "chrome":
                GoToChromeBrowser("chrome");
                break;

            case "firefox":
                GoToFirefoxBrowser();
                break;

            case "ie":
                GoToIeBrowser();
                break;

            case "edge":
                GoToEdgeBrowser();
                break;

            case "remote":
                GoToRemoteBrowser();
                break;
            default:
                throw new Exception("did not find browser type selected");
        }
        return Driver;
    }
}

方法GoToChromeBrowser()

public void GoToChromeBrowser(string BrowserType)
{
    switch (BrowserType)
    {
        case "firefox":
            Driver = new FirefoxDriver();
            break;
        case "chrome":
            DesiredCapabilities cap = new DesiredCapabilities();
            cap.SetCapability(CapabilityType.BrowserName, "chrome");
            cap.SetCapability("marionette", false);
            cap.SetCapability(CapabilityType.Platform, new Platform(PlatformType.Windows));
            Driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), cap);
            break;                    
    }
}

要启动集线器,我使用 CMD 中的命令:

java -jar F:\Selenium\Server\selenium-server-standalone-3.11.0.jar -role hub

要注册节点,我使用以下命令:

java -jar selenium-server-standalone-3.11.0.jar -role node -hub http://localhost:4444/grid/register -browser "browserName=chrome version=ANY, maxInstances=5, platform=WINDOWS" -port 5566 

集线器已正常启动,并且已注册节点。那里没有错误。
为什么我在 Visual Studio 中运行测试时收到错误消息?
我错过了什么或做错了什么?

标签: c#seleniumselenium-webdriverwebdriverselenium-grid

解决方案


试试这个。在启动节点时指定驱动程序的位置。

java -Dwebdriver.chrome.driver=D:/nchaurasia/Automation-Architect/connect2tech.in-SeleniumWebDriver3.x_2/driver/chromedriver.exe -jar selenium-server-standalone-3.9.1.jar -role node -hub http://192.168.137.1:4444/grid/register/

推荐阅读