8

Недавно я использовал Selenium (http://www.seleniumhq.org/) для тестирования. Он случайно перестает работать, и я считаю, что это связано с тем, что Selenium WebDriver 2.53.0 больше не совместим с Firefox 47 (компонент WebDriver, который обрабатывает браузеры Firefox (FirefoxDriver), был прекращен).Selenium Firefox Marionette Драйвер с .NET C#

Marionette ([https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver#.NET][2]) является следующим поколением FirefoxDriver, и я пытаюсь заставить это работать на моей машине, но не повезло.

Я до сих пор скачал драйвер, переименовал файл как wire.exe и сохранил его в корневом каталоге моего сайта. Я тогда добавил следующий код:

string strWires = @"Z:\Web_Development\Websites\test\wires.exe"; 
Environment.SetEnvironmentVariable("webdriver.gecko.driver", strWires); 

FirefoxOptions options = new FirefoxOptions(); 
options.IsMarionette = true; 
FirefoxDriver driver = new FirefoxDriver(options); 

Я получаю следующее сообщение об ошибке:

однако

«Исключение типа„OpenQA.Selenium.DriverServiceNotFoundException“ произошло в WebDriver.dll, но не было обрабатываются в пользовательском коде

Дополнительная информация: wires.exe файл не существует в текущем каталоге или в каталоге на окружающую среду PATH переменной драйвер может быть загружен на.github.com/jgraham/wires/releases. "

Было бы очень признательно, если кто-нибудь знает, как заставить водителя Marionette работать с Selenium (или даже просто указать мне в правильном направлении) и может предоставить пошаговые инструкции?

Спасибо,

Daniel

+0

Я получил такое же сообщение об ошибке, как вы после того, как я скачал файл C:/Windows и переименовал его. Когда я разблокировал его, теперь я получаю OpenQA.Selenium.WebDriverException: не удается запустить службу драйвера по адресу http: // localhost: 49426/ – johnstaveley

+0

Если вы поместите wire.exe в путь и выполните его непосредственно в командной строке, вы получите сообщение ' Программа не может запускаться, поскольку на вашем компьютере отсутствует VCRUNTIME140.dll. Это можно получить здесь: https://www.microsoft.com/en-gb/download/details.aspx?id=48145 – johnstaveley

+0

Однако я сделал это, установил его и появился в C:/Windows/System32 и он по-прежнему дает ту же ошибку. Я даже запускал wire.exe из того же места. – johnstaveley

ответ

7

Марионеток, кажется, хочет использовать ночные сборки FireFox. Загрузите Geckodriver, переименуйте его в wire.exe, скопируйте на вывод. Это работает для меня (FireFox 47 и селена 2.53.0):

var driverService = FirefoxDriverService.CreateDefaultService(); 
driverService.FirefoxBinaryPath = @"C:\Program Files (x86)\Mozilla Firefox\firefox.exe"; 
driverService.HideCommandPromptWindow = true; 
driverService.SuppressInitialDiagnosticInformation = true; 

var driver = new FirefoxDriver(driverService, new FirefoxOptions(), TimeSpan.FromSeconds(60)); 
+1

Пожалуйста, объясните это примерно в ночное время. – Drutten

Смежные вопросы