Selenium.WebDriver. Я получаю сообщение об ошибке при попытке выполнить мой тест в Chrome.

Я получаю ошибку, когда пытаюсь запустить свой тест в Chrome:

Метод инициализации AutomationUsingSelenium.SmuladorChrome.MyTestInitialize исключение. OpenQA.Selenium.DriverServiceNotFoundException: OpenQA.Selenium.DriverServiceNotFoundException

В чем причина?

Ответ 1

Наконец, я разрешаю свою проблему.

1) Я скопировал chromedriver.exe в каталог Chrom , но вы можете поместить в любой каталог, я решил поставить здесь.

2). Инициализировал новый экземпляр класса ChromeDriver, используя указанный       // путь к каталогу, содержащему ChromeDriver.exe

Мой код:

IWebDriver drive = new ChromeDriver
("C:\\Documents and Settings\\...\\ApplicationData\\Google\\Chrome\\Application");

И он работает просто отлично. Спасибо всем.

Ответ 2

Предположим, что chromedriver.exe присутствует в следующем пути: G:\Selenium_Csharp\Jar\chromedriver_win32\chromedriver.exe

Для выполнения теста в Chrome задайте путь к каталогу/папке, содержащей chromedriver.exe, не выбрав chromedriver.exe имя файла.

driver = new ChromeDriver("G:\\Selenium_Csharp\\Jar\\chromedriver_win32");

driver.Url ="http://www.gmail.com";
driver.Manage().Window.Maximize();

ИЛИ

driver = new ChromeDriver(@"G:\Selenium_Csharp\\Jar\\chromedriver_win32");

driver.Url ="http://www.gmail.com";
driver.Manage().Window.Maximize();

Ответ 3

Установите Selenium.Chrome.WebDriver пакет NuGet в проект, и вы не получите ошибку снова.

В Visual Studio щелкните правой кнопкой мыши Project, выберите Manage NuGet Packages..., найдите Selenium.Chrome.WebDriver и нажмите "Установить".

Наслаждайтесь селеном.

Ответ 4

Это ошибка, которую я вижу: OpenQA.Selenium.DriverServiceNotFoundException: файл chromedriver.exe не существует в текущем каталоге или в каталоге в переменной среды PATH.

Я решил эту проблему, указав в командной строке аргумент "testettings" для запуска модульных тестов.

например.

E:\Development\SampleProject\SampleProject.MvcWebApp\SampleProject.MvcWebApp.JavaScriptUnitTests\JavaScriptUnitTests\bin\Debug>"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\mstest.exe" /testcontainer:JavaScriptUnitTests.dll /category:"JavaScriptUnitTests" /testsettings:..\..\..\Local.Testsettings /resultsfile:..\..\..\..\..\MsTestResults\SampleProject.MvcWebApp.JavaScript.Tests.trx

Я использую "/testsettings:......\Local.Testsettings", потому что файл Local.testsettings находится на 4 уровня выше уровня, на котором я выполняю эту команду. Вы должны изменить его соответствующим образом.

Это команда, используемая в файле ccnet.config

<exec>
    <executable>C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\mstest.exe</executable>
    <baseDirectory>SampleProject.MvcWebApp\SampleProject.MvcWebApp.JavaScriptUnitTests\JavaScriptUnitTests\bin\Debug</baseDirectory>
    <buildArgs>/testcontainer:JavaScriptUnitTests.dll /category:"JavaScriptUnitTests" /testsettings:..\..\..\Local.Testsettings /resultsfile:..\..\..\..\..\MsTestResults\SampleProject.MvcWebApp.JavaScript.Tests.trx</buildArgs>
    <successExitCodes>0</successExitCodes>
</exec>