Какой драйвер мне нужно использовать для запуска теста на селен в c # в браузере Edge Chromium? - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь запустить простой тест на селен в c # с помощью браузера Edge, но не могу. Ошибка, которая указывает мне следующее:

OpenQA.Selenium.DriverServiceNotFoundException: 'Файл C: \ Selenium \ Drivers \ MicrosoftWebDriver.exe не существует. Драйвер можно загрузить по адресу http://go.microsoft.com/fwlink/?LinkId=619687

Это строка кода, которая выдает мне ошибку: driver = new EdgeDriver ("C:\\Selenium\\Drivers");

В пути C: \ Selenium \ Drivers У меня есть следующий драйвер: msedgedriver.exe

Загружено со страницы: https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

Этот драйвер соответствует до версии у меня Edge: Microsoft Edge является актуальной. Версия 80.0.361.62 (Официальная компиляция) (64 бита)

Что я делаю не так? В чем моя ошибка? как мне это решить?

Спасибо

Ответы [ 2 ]

3 голосов
/ 03 марта 2020
driver = new EdgeDriver ("C:\\Selenium\\Drivers\\msedgedriver.exe");

Удалите ненужные пробелы из пути, а также включите файл .exe в свой путь

0 голосов
/ 03 марта 2020

Какую версию селена вы используете? Если вы используете Selenium 4.00-alpha03 и более ранние версии , вы можете обратиться к следующим шагам для автоматизации Microsoft Edge Chromium:

  • Установка C# Selenium WebDriver 3.141.0 с здесь .
  • Загрузите подходящую версию драйвера Microsoft Edge с этой страницы .
  • Пример C# код:
using OpenQA.Selenium.Edge;    
using OpenQA.Selenium.Remote;   
using System.Collections.Generic;
using System.Threading;       

var service = EdgeDriverService.CreateDefaultService(@"C:\Selenium\Drivers", @"msedgedriver.exe"); 
service.UseVerboseLogging = true; 
service.UseSpecCompliantProtocol = true; 
service.Start();  
var caps = new DesiredCapabilities(new Dictionary<string, object>() 
{ 
    { "ms:edgeOptions", new Dictionary<string, object>() { 
        { "binary", @"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" } 
    }} 
}); 

var driver = new RemoteWebDriver(service.ServiceUrl, caps);  
driver.Navigate().GoToUrl("https://bing.com"); 
Thread.Sleep(2000);  
driver.Close(); 
service.Dispose(); 

Примечание: Измените пути в коде на свои собственные.

-------------------------------------------- ---------------------Обновить---------------------------- -------------------------------

Вам необходимо использовать Selenium 4.00-alpha04 чтобы использовать специфичные для браузера c классы опций при автоматизации Edge Chromium:

  • Загрузите. NET привязку языка Selenium 4.00-alpha04 от здесь

  • Загрузите соответствующую версию драйвера Microsoft Edge с этой страницы .

  • Пример C# код:

using OpenQA.Selenium.Edge; 
using OpenQA.Selenium.Remote;  

EdgeOptions edgeOptions = new EdgeOptions(false);     
edgeOptions.BinaryLocation = @"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"; 
var msedgedriverDir = @"C:\Selenium\Drivers"; 
var msedgedriverExe = @"msedgedriver.exe"; 

var service = EdgeDriverService.CreateDefaultService(msedgedriverDir, msedgedriverExe, false); 
service.EnableVerboseLogging = true; 
var driver = new EdgeDriver(service, edgeOptions); 
driver.Navigate().GoToUrl("https://bing.com"); 
Thread.Sleep(2000); 
driver.Close();

Примечание: Измените пути в коде на свои собственные.

...