Мы запускаем Selenium 2.5.3 в проекте .Net Automation Testing Project как проект NUnit Test.Почему драйвер Selenium GECKO для Firefox 48 не запускает сервер?
Все работает отлично с Firefox 47. Но с Firefox 48 он перестает работать. Я спустил Gecko.exe (версия 9) из github. Я могу почти запустить его, но не совсем.
Я получал эти ошибки: Дополнительная информация: HTTP-запрос на удаленный сервер WebDriver для URL http://localhost:53628/session был пропущен через 30 секунд.
Дополнительная информация: HTTP-запрос на удаленный сервер WebDriver для URL http://localhost:55924/session истекает через 30 секунд.
По-видимому, по умолчанию используются случайные порты. Так я вручную установить его на порт 7500, открыт порт в брандмауэре Windows, и теперь я получил это: Дополнительная информация: Не удается запустить службу драйвера на http://localhost:7500/
Вот мой код в WebDriverFactory:
case WebDriverType.Firefox:
Log.Info("Starting Firefox ...");
//string driverPath =
// $"{Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase)}\\wires.exe";
string driverPath =
@"C:\Development2\iRePORT\src\test\csharp\Nete.Ireport.EndToEndTests\bin\Debug\geckodriver.exe";
FirefoxDriverService driverService = FirefoxDriverService.CreateDefaultService();
driverService.FirefoxBinaryPath = driverPath;
driverService.Port = 7500;
FirefoxOptions ffOptions = new FirefoxOptions();
ffOptions.IsMarionette = true;
driver = new FirefoxDriver(driverService, ffOptions, TimeSpan.FromSeconds(30));
// driver = new FirefoxDriver(new FirefoxOptions());
Log.Info("Started");
break;
Я потратил много времени на это, и я чувствую, что я очень близко. Кто-нибудь знает, какую часть мне не хватает?
Я прочитал что-то сейчас, что заставляет меня думать об этой линии;
driverService.FirefoxBinaryPath = driverPath;
указывает на то, какую версию Firefox установить для использования. я поставлю driverpath и имя исполняемого файла в driverService Конструктора, как это:
case WebDriverType.Firefox:
Log.Info("Starting Firefox ...");
//string driverPath =
// $"{Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase)}\\wires.exe";
string driverPath =
@"C:\Development2\iRePORT\src\test\csharp\Nete.Ireport.EndToEndTests\bin\Debug";
string driverExecutableName = "geckodriver.exe";
FirefoxDriverService driverService = FirefoxDriverService.CreateDefaultService(driverPath, driverExecutableName);
// Don't do this!!! This is the executable to the Firefox Version executable.
//driverService.FirefoxBinaryPath = driverPath;
driverService.Port = 7500;
FirefoxOptions ffOptions = new FirefoxOptions();
ffOptions.IsMarionette = true;
driver = new FirefoxDriver(driverService, ffOptions, TimeSpan.FromSeconds(30));
// driver = new FirefoxDriver(new FirefoxOptions());
Log.Info("Started");
break;
Так что теперь я вернулся, чтобы получить эту ошибку: Дополнительная информация: Не удается запустить службу драйвера на http://localhost:7500/
Также, если у меня есть: driverService.Port = 7200; В нем говорится, что «объект не найден». Я считаю, это означает, что он не может найти Gecko.exe. Если у меня есть: driverService.Port = 7500; Он говорит: Дополнительная информация: Не удается запустить сервис водителя по телефону http://localhost:7500/
Написал ответ здесь http://stackoverflow.com/questions/39005512/selenium-visual-studios-c -sharp-all-chrome-firefox-and-internet-explorer/43372184 # 43372184 которые могут иметь отношение к этому вопросу – donyd