2012-05-18 2 views
10

я получаю ошибку, когда я пытаюсь запустить мой тест в Chrome: метод
Selenium.WebDriver - я получаю сообщение об ошибке при попытке запустить мой тест в Chrome

Initialization AutomationUsingSelenium.SmuladorChrome.MyTestInitialize бросил исключение. OpenQA.Selenium.DriverServiceNotFoundException: OpenQA.Selenium.DriverServiceNotFoundException

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

+0

Вы пытались дать путь к хромированной решетке? –

+0

Да, но не работает: 'System.Environment.SetEnvironmentVariable (« webdriver.chrome.driver »,« C: \\ .. \\ Drivers \\ chromedriver.exe »); IWebDriver drive = новый ChromeDriver(); ' –

+0

Можете ли вы попробовать второй вариант, упомянутый в этом qn http://stackoverflow.com/questions/10650360/seleniumwebdrivererrorwebdrivererror/10654738#10654738 –

ответ

11

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

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

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

Мой код:

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

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

0

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

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

Э.Г.

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> 
+1

Я не нашел этот ответ полезным, потому что вы не даете объяснений тому, что исправляется, или как создать файл testettings. После многих исследований я решил, что файл testettings должен отключить «Включить развертывание», который требует переключения этого параметра в пользовательском интерфейсе тестовых настроек. Основная проблема заключается в том, что во время развертывания MSTest копирует только dll, config, но не exe. –

5

Давайте предположим, что 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(); 
1

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

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

Enjoy Selenium.