远程Webdriver Chrome会抛出“驱动程序可执行文件的路径”错误

时间:2013-03-04 10:35:44

标签: c# webdriver remotewebdriver

您好,我使用以下代码

IWebDriver _webDriver = new RemoteWebDriver(new Uri("http://127.0.0.1:4444/wd/hub"),
                DesiredCapabilities.Chrome());

我收到了以下错误

  

System.InvalidOperationException:驱动程序可执行文件的路径必须由webdriver.chrome.driver系统属性设置;有关更多信息,请参阅http://code.google.com/p/selenium/wiki/ChromeDriver。最新版本可从http://code.google.com/p/chromedriver/downloads/list下载   TearDown:System.NullReferenceException:未将对象引用设置为对象的实例。      在OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)      在OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute,Dictionary`2参数)      在OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor,ICapabilities desiredCapabilities)      在Browser.cs中的Testframework.Browser.RemoteGoto(String browser,String url):第86行      在CommonAction.cs中的Testframework.CommonAction.RemoteBrowser(String browser):第70行      在Test.RegistrationTest.InvalidRegistrationTest(String browser,String username,String password,String confirmPassword,String securityQuestion,String securityAnswer,String errorMessageText,String firstname,String lastname)in RegistrationTest.cs:第50行    - 拆除      在CommonAction.cs中的Testframework.CommonAction.CaptureScreen(String fileName):第121行      在RegistrationTest.cs中的Test.RegistrationTest.SnapshotOnFailure():第590行

2 个答案:

答案 0 :(得分:4)

线索真的出错了。

Chrome应安装在运行测试或指向测试的系统上。

退一步,查看文档:

https://code.google.com/p/selenium/wiki/ChromeDriver

此外,如果Chrome安装在一个特殊的地方,您需要将Selenium指向它的位置。同样,这在文档中进行了解释。

在C#中:

DesiredCapabilities capabilities = DesiredCapabilities.Chrome();
capabilities.SetCapability("chrome.binary", this.binaryLocation);

或:

ChromeOptions options = new ChromeOptions();
options.BinaryLocation = "pathtogooglechrome";
capabilities.SetCapability(ChromeOptions.Capability, options);

答案 1 :(得分:4)

您可以通过其他方式改变代码,而不是更改代码。
下载chrome驱动程序并将 PATH 环境变量设置为指向chromedriver.exe所在目录。

重新启动IDE / Command控制台并运行测试。它有效!!!