web-dev-qa-db-fra.com

Selenium.WebDriver - J'obtiens une erreur lorsque j'essaie d'exécuter mon test dans Chrome

Je reçois une erreur lorsque j'essaie d'exécuter mon test dans Chrome:

Méthode d'initialisation AutomationUsingSelenium.SmuladorChrome.MyTestInitialize a généré une exception. OpenQA.Selenium.DriverServiceNotFoundException: OpenQA.Selenium.DriverServiceNotFoundException

Quelle est la cause?

12
Dumitru Chirutac

Enfin, je résous mon problème.

1) J'ai copiéchromedriver.exedans Chrom répertoire lien , mais vous pouvez mettre dans n'importe quel répertoire, j'ai décidé mettre ici.

2) I Initialise une nouvelle instance de la classe ChromeDriver à l'aide du chemin // spécifié vers le répertoire contenant ChromeDriver.exe.

Mon code:

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

Et ça marche tout simplement parfait. Merci a tous.

13
Dumitru Chirutac

Supposons que chromedriver.exe est présent dans le chemin ci-dessous: G:\Selenium_Csharp\Jar\chromedriver_win32\chromedriver.exe

Pour exécuter votre test dans Chrome, définissez le chemin d'accès au répertoire/dossier contenant chromedriver.exe sans sélectionner le nom de fichier chromedriver.exe.

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

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

OR

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

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

Installez le package Selenium.Chrome.WebDriver NuGet dans le projet et vous n'obtiendrez plus l'erreur.

Dans Visual Studio, cliquez avec le bouton droit sur le projet, cliquez sur Gérer les packages NuGet ..., recherchez Selenium.Chrome.WebDriver, puis cliquez sur installer.

Profitez de sélénium.

4
Gokul

C'est l'erreur que je vois: OpenQA.Selenium.DriverServiceNotFoundException: le fichier chromedriver.exe n'existe pas dans le répertoire en cours ni dans un répertoire de la variable d'environnement PATH.

J'ai résolu ce problème en spécifiant l'argument 'testsettings' dans la commande pour exécuter les tests unitaires.

Par exemple.

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

J'utilise "/testsettings:......\Local.Testsettings" car le fichier Local.testsettings a 4 niveaux de plus que le niveau où j'exécute cette commande. Vous devriez le changer en conséquence.

C'est la commande utilisée dans le fichier 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>
0
Ali Lane