我已经设置了一个selenium网格,端口4444用于集线器,节点用端口5555.当我尝试通过http://localhost:4444/wd/hub/console访问集线器的控制台时,我得到以下日志 .
当我试图访问我的网格的会话http://localhost:4444/wd/hub/session得到以下错误 .
我正在使用C#.net进行测试,当我尝试初始化remotedriver实例时,我的测试中出现错误
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) in D:\SeleniumCode\selenium\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 1384
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) in D:\SeleniumCode\selenium\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 1187
at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities) in D:\SeleniumCode\selenium\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 1114
at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) in D:\SeleniumCode\selenium\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 141
at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(Uri remoteAddress, ICapabilities desiredCapabilities, TimeSpan commandTimeout) in D:\SeleniumCode\selenium\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 128
at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(Uri remoteAddress, ICapabilities desiredCapabilities) in D:\SeleniumCode\selenium\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 117
下面是代码 .
`var driverContext = new WebDriverContext();
DesiredCapabilities capability = DesiredCapabilities.Chrome();
capability.Platform = new Platform(PlatformType.Windows);
try
{
driverContext.Driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), capability);
driverContext.Driver.Navigate().GoToUrl(url);
context = driverContext;
}
catch(Exception ex)
{
}
return driverContext;`
1 回答
本文中提到了三个问题 .
您正在访问无效的网格控制台URL . 正确的URL是
http://localhost:4444/grid/console
.为了能够访问会话的详细信息,您应该访问URL
http://localhost:4444/grid/api/testsession?session=%s
,其中%s
表示您从RemoteWebDriver. SessionId
获取的会话IDRemoteWebDriver
时遇到问题 .当你试图实例化一个新的
RemoteWebDriver
实例时,你得到的错误,我可以完全读取C#,但是查看代码片段没有什么突出的 .然而,例外情况表明
您可能在PATH变量中无法使用ChromeDriver二进制文件时遇到问题 . 请检查您的路径中是否可以使用它,以及是否可以通过从命令提示符运行
chromedriver
来分离它?此外,您可能希望通过运行echo %PATH%
交叉检查其在PATH变量中的存在,然后扫描输出以查看它是否包含chromedriver所在的目录 .