您好,我使用以下代码
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行
答案 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控制台并运行测试。它有效!!!