Selenium 2.0 远程 Web 驱动程序无法使用 C# 启动 IEDriver

本文关键字:启动 IEDriver 远程 Web 驱动程序 Selenium | 更新日期: 2023-09-27 18:28:00

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]

正在运行这台机器,既充当集线器又充当节点,只是为了证明它对我有用的概念。

Selenium 2.0 远程 Web 驱动程序无法使用 C# 启动 IEDriver

关于你想要完成的事情的方法,我会质疑很多事情。首先,如果您在与远程 Java 服务器(节点/集线器(相同的计算机上运行 C# 代码,为什么还要麻烦呢?您可以轻松地只使用 InternetExplorerDriver 类并完全消除 Java 服务器。

其次,设置环境变量与设置 Java 系统属性不同。通过在用于启动 Java .jar的命令行上使用 -D 命令行标志来设置 system 属性。

最后,如果您实际上在与 C# 代码不同的计算机上运行 Java 服务器,并且正确使用了 RemoteWebDriver ,请记住,您需要在运行 Java 服务器的计算机上运行 IEDriverServer.exe,而不是运行 C# 代码的计算机上。此外,需要中心/节点知道该计算机上可执行文件的路径,而不是运行 C# 代码的可执行文件的路径。

我已经解决了它,使用了适当的IEDriver版本并修复了PATH,它起作用了。