在Firefox驱动程序中进行自动化测试时,WebDriver.dll中发生System.InvalidOperationException

时间:2017-04-24 22:04:52

标签: c# selenium selenium-webdriver automated-tests selenium-firefoxdriver

我已更新安装的最新selenium webdriver(v 3.4.0)并拥有最新的firefox驱动程序(0.15.0)。我将这些安装在我正在使用“Manage Nuget Packages”选项工作的项目中。突然之间我的所有测试都失败了,因为它无法与firefox浏览器上的任何元素进行交互。说明我的问题,当我在谷歌网站上尝试以下简单的测试时

IWebDriver driver = new FirefoxDriver();
driver.Url = "https://www.google.com/";
var MyKeyWord = driver.FindElement(By.Id("lst-ib"));
MyKeyWord.SendKeys("Gmail");

它失败了以下异常。

An unhandled exception of type 'System.InvalidOperationException' occurred in WebDriver.dll

Additional information: Expected [object Undefined] undefined to be a string (IndexOutOfBounds)

我正在寻找如何处理这个问题,我找到了一个解决方案如下:      driver = new FirefoxDriver(DRIVER_PATH);

但是我的所有测试都在执行而没有在firefox中指定这些路径,因为当我们使用“Manage Nuget Packages”选项安装所需的包时,firefox会选择它们。我不知道为什么它突然失败了。有人对此有任何建议吗?

2 个答案:

答案 0 :(得分:0)

https://github.com/mozilla/geckodriver/releases下载最新的geckodriver。解压缩并将gecodriver文件放入系统路径。重启(如果需要)。

此链接有助于设置:https://github.com/mozilla/geckodriver

我希望它会有所帮助。

答案 1 :(得分:0)

NuGet经理中有两个Chromedriver显示器 - 一个用于Chrome的驱动程序,另一个用于Selenium Google Chrome驱动程序。你必须安装它们,然后才能工作。