2

我需要帮助才能使用 C# 升级到 geckodriver。我从这里下载了 geckodriver 。我在 windows 10 64bit 上下载了 windows 64bit 版本。将驱动程序复制到我的项目位置。

Environment.SetEnvironmentVariable("webdriver.gecko.driver", @"C:\Git\AutomationTest\Drivers\geckodriver.exe");
FirefoxDriverService driverService = FirefoxDriverService.CreateDefaultService();
driverService.FirefoxBinaryPath = @"C:\Program Files (x86)\Mozilla Firefox\firefox.exe";
driverService.HideCommandPromptWindow = true;
driverService.SuppressInitialDiagnosticInformation = true;
driver = new FirefoxDriver(driverService, new FirefoxOptions(), TimeSpan.FromMilliseconds(600));

它抛出了错误:

Initialization method UnitTestProject1.UnitTest1.Init threw exception. OpenQA.Selenium.DriverServiceNotFoundException: OpenQA.Selenium.DriverServiceNotFoundException: The geckodriver.exe file does not exist in the current directory or in a directory on the PATH environment variable. The driver can be downloaded at https://github.com/mozilla/geckodriver/releases..
Result StackTrace:  
at OpenQA.Selenium.DriverService.FindDriverServiceExecutable(String executableName, Uri downloadUrl)
at OpenQA.Selenium.Firefox.FirefoxDriverService.CreateDefaultService()
at OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxOptions options)
at OpenQA.Selenium.Firefox.FirefoxDriver..ctor()
at UnitTestProject1.UnitTest1.Init()

尝试将其重命名为“电线”,但没有奏效。搜索了很多关于 SO 的问题,没有找到 Selenium 3.0 的解决方案。

将具有驱动程序的文件夹的路径添加到系统变量路径并尝试使用DesiredCapabilities.

DesiredCapabilities cap = DesiredCapabilities.Firefox();
cap.SetCapability("marionette", true);
var driver = new RemoteWebDriver(cap);

使用 Selenium 3.0、FF 47.0.1、gecko v0.11.1 有人可以帮我解决这个问题。

谢谢。

4

2 回答 2

1

尝试这个:

FirefoxDriverService service = FirefoxDriverService.CreateDefaultService("C:\Git\AutomationTest\Drivers");

IWebDriver driver = new FirefoxDriver(service);
于 2016-11-09T13:57:45.353 回答
0

我将 Firefox 更新到 49.0.2 版,并将我的 selenium 驱动程序从 nuget 包更新到 3.0.0。将 Firefox 路径添加到系统路径变量。就是这样,我没有改变我的编码中的任何其他内容,即 Firefox 的声明。更新后,我遇到了太多问题,例如等待和 System.Net.Web 异常。我需要修复一些测试用例,但它可以工作。

于 2016-11-10T10:09:28.967 回答