我无法让Selenium网格正常工作。我在下方提供了屏幕截图来帮助。任何人都可以看到什么是错的?我几乎放弃了,看看那些我在下面尝试过的教程/文章/视频应该有效,但事实并非如此。任何人都可以建议吗? 感谢
更新
在这个简短的YouTube视频https://www.youtube.com/watch?v=zhWhhDnR1Bg
中观看问题服务器jar文件位置
启动selenium服务器的命令
启动服务器后
问题更新
An exception of type 'OpenQA.Selenium.WebDriverException' occurred in WebDriver.dll but was not handled in user code
Additional information: Unexpected error. System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: The requested address is not valid in its context 0.0.0.0:4444
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
at System.Net.HttpWebRequest.GetRequestStream()
at OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute)
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
新的控制台应用
启动selenium hub和节点后执行此新代码会引发异常:
static void Main(string[] args)
{
var url = new Uri("http://10.6.122.49:4444/wd/hub");
var driver = new RemoteWebDriver(url, new FirefoxOptions()); // This line throws an exception
driver.Navigate().GoToUrl("http://www.google.com");
}
尽管错误仍然存在,但已尝试过以下操作
Environment.SetEnvironmentVariable("webdriver.gecko.driver", @"D:\geckodriver.exe");
尝试使用curl命令后
$ curl -i -H“接受:application / json”-X POST -d'{“desiredCapabilities”:{“bro %总收到百分比%Xferd平均速度时间时间当前时间 Dload上载总左转速度 0 0 0 0 0 0 0 0 - : - : - - : - : - - : - : - 0HT 日期:2017年9月29日星期五15:27:00 GMT 到期日:1970年1月1日星期四00:00:00 GMT 缓存控制:无缓存 Content-Type:application / json; charset = utf-8 服务器:码头(9.4.3.v20170317) 内容长度:5374
{“state”:“unknown error”,“sessionId”:null,“hCode”:11474323,“value”:{“localizedMee从https://github.com/mozilla/geckodriver/releases下载”,“cause”:null,java.lang .StackTraceElement “},{” 文件名 “:” DriverService.java “ ”nativeMethod“:faDriverService.java”, “nativeMethod”:假的, “方法名”: “访问$ 100”, “类名”: “”: “findDefaultExecutable” , “类名”: “org.openqa.selenium.firefox.GeckoDriverSelenium.remote.service.DriverService $生成器”, “hCode”:778286220, “行号”:330,44, “行号”:207, “下课”:” java.lang.StackTraceElement中 “},{” 文件名 “:” FirefoxDeName “:” FirefoxDriver.java “ ”nativeMethod“:假, ”方法名“: ”“, ”classNamssName“: ”sun.reflect.NativeConstructorAccessorImpl“,” hCode “:513928194” lineNumbeumber “: - 1,” 类 “:” java.lang.StackTraceElement中 “},{” 文件名 “:NULL,” nativeMethod “veMethod”:假, “方法名”: “的newInstance”, “类名” : “java.lang.reflect.Constr.openqa.selenium.remote.server.FirefoxDriverProvider”, “hCode”:380089702, “lineNumriverProvider”, “hCode”: - 616843603, “行号”:63, “阶级”:“的java .lang.StackTraceENumbe r“:60,”class“:”java.lang.StackTraceElement“},{”fileName“:”DefaultSession.ja100 5423 100 5374 100 49 42992 392 - : - : - - : - : - - : - : - 48854med“:false,”methodName“:”run“,”className“:”java.util.concurrent.FutureTask“,”hCodeaultSession $ 1“,”hCode“: - 255143467,”lineNumber“ :176, “阶级”: “java.lang.StackTraceeElement”},{ “文件名”:空, “nativeMethod”:假的, “方法名”: “运行”, “类名” :: “的java.lang.Thread”, “hCode”:1432591020, “行号”: - 1, “下课”:“java.lang.StackTkodriver。最新版本可以从https://github.com/mozilla/g
下载答案 0 :(得分:0)
错误The requested address is not valid in its context
表示IP地址可能无效。我发现是The requested address is not valid in its context when i try to listen a port
在您启动集线器的命令提示符中,您会注意到这样一行Nodes should register to http://10.6.122.49:4444
。
在测试中,您可以尝试使用IP 10.6.122.49
而不是localhost
来实例化RemoteWebDriver。
我希望你已经启动了节点并让它自己注册到集线器。
在某些机器上(特别是在MAC中),我注意到有时候localhost
无法正常工作,您还需要将机器名称添加到/etc/hosts
文件中[此可能适用于您的问题也可能不适用]
我还建议你看一下我创建的这个教程(或书,你可以随意调用它),它可以帮助你使用Grid和它的设置,除了很多其他的东西,你想知道Grid。见here