DesiredCapabilities capabilities = DesiredCapabilities.InternetExplorer();
System.Environment.SetEnvironmentVariable("webdriver.ie.driver", @"C:\\IEDriverServer.exe");
instance = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), capabilities);
我还有一个系统变量集,IEDriverServer
位于系统路径中。我无法从命令行运行IEDriver(这让我觉得路径配置有问题,或者有些安全限制)
请注意,集线器和节点是同一台机器。
当我执行测试时,我得到:
"System.InvalidOperationException:
The path to the driver executable must be set by the webdriver.ie.driver system property; for m....."![enter image description here][1]
我正在运行这一台机器作为集线器和节点,只是为了让它成为我的工作概念证明。
答案 0 :(得分:0)
我对您尝试完成的方法提出了许多疑问。首先,如果您在与远程Java服务器(节点/集线器)相同的计算机上运行C#代码,为什么还要烦恼?您可以轻松地使用InternetExplorerDriver
类并完全取消Java服务器。
其次,设置环境变量不与设置Java系统属性相同。您可以在命令行上使用-D
命令行标志来设置系统属性,以便启动Java .jar。
最后,如果您实际在与C#代码不同的计算机上运行Java服务器,并正确使用RemoteWebDriver
,请记住在运行的计算机上需要IEDriverServer.exe
Java服务器,而不是运行C#代码的服务器。此外,您需要中心/节点了解该计算机上可执行文件的路径,而不是运行C#代码的可执行文件。
答案 1 :(得分:0)
我已经解决了,使用了适当的版本IEDriver并修复了PATH并且它有效。