5

Ho aggiunto il pacchetto nuget WebDriver.ChromeDriver alla mia soluzione, che contiene il file ChromeDriver.exe, necessario per eseguire Selenium WebDriver per eseguire test automatici utilizzando Chrome. Guardando il contenuto della confezione, che contiene solo il file seguente file:Pacchetto Selenium WebDriver.ChromeDriver Nuget installato, ma non funzionante per MSTest

tools\chromedriver.exe

Ciò è supposto fare è aggiungere questa cartella alla variabile d'ambiente PATH in modo che chromedriver.exe è accessibile tramite il seguente codice (questo è in un progetto unittest utilizzando MSTest):

[TestMethod] 
public void LaunchWebsite_Chrome() 
{ 
    // create ChromeDriver - this should work if chromedriver.exe 
    // is known to the environment PATH variable 
    IWebDriver driver = new ChromeDriver(); 

    driver.Navigate().GoToUrl("http://localhost/"); 
} 

Tuttavia, sono ancora ricevendo la seguente eccezione:

Il file chromedriver.exe non esiste nella directory corrente o in una directory sulla variabile di ambiente PATH. Il driver può essere scaricato allo http://code.google.com/p/chromium/downloads/list.

Guardando la documentazione NuGet, suggerisce che nulla nei strumenti cartella del pacchetto NuGet avranno aggiunto alla variabile d'ambiente PATH automaticamente:

http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package: La cartella strumenti di un pacchetto è per script e programmi PowerShell accessibili dalla Console di Gestione pacchetti. Dopo che la cartella è stata copiata nel progetto di destinazione, viene aggiunta alla variabile di ambiente `$ env: Path (PATH).

Tuttavia, questo non sembra funzionare. Ho persino eseguito echo %PATH% sulla riga di comando e non mostra la cartella degli strumenti come registrata.

Cosa sto sbagliando?

+0

hai trovato una risposta a questa domanda? – Phphelp

+0

Non proprio, ma penso di aver frainteso solo cosa significhi l'impostazione della variabile di ambiente $ env: Path (PATH) - presumo che sia impostato solo durante l'installazione del pacchetto. Ho utilizzato la soluzione descritta da @Arran –

risposta

10

Non mi preoccuperei del pacchetto NuGet per questo, semplicemente perché questa non è una libreria di classi, che tecnicamente è ciò di cui NuGet è dedicato. ChromeDriver è stato anche aggiornato molte volte da quella versione.

Comunque, direi che ho appena fatto la stessa cosa per vedere qual è il problema:

  1. Scarica pacchetto NuGet
  2. Utilizzando Visual Studio, aggiungere un nuovo elemento al progetto da destra cliccando sul progetto -> Aggiungi elemento -> elemento esistente
  3. Navigare e selezionare il chromedriver.exe
  4. Modificare le proprietà al fine di garantire "Copia in uscita Directory" è impostato su Copia sempre.

si sono probabilmente cadendo sul punto 4. Tale impostazione è impostata su Non copiare per impostazione predefinita.

+2

L'aggiunta manuale del file è un buon lavoro, ma qualche idea sul perché NuGet non aggiunga la cartella "tools" alla variabile d'ambiente PATH? (La documentazione suggerisce che dovrebbe) –

+0

Mi chiedo se Visual Studio deve essere eseguito come amministratore per le variabili di percorso che possono essere impostate? –

+0

Ho provato questo - aggiungendo il subacqueo manualmente nella radice del progetto, dopo aver installato il pacchetto NuGet. Il risultato è stato che ogni volta che ho provato a eseguire il codice, sono state avviate due istanze di chromedriver.exe. E poi quando ho provato ad eseguirlo di nuovo, non ha funzionato perché il chromedriver.exe era in uso da un altro processo. Passare da Release a Debug ha funzionato esattamente una volta, quindi mai più. Questa soluzione è al massimo traballante e NON dovrebbe essere accettata come risposta imo. –

0

L'ho impostato su "Copia", che ha sempre generato un errore quando provo a ricostruirlo. Impostarlo su "Copia se più recente" funziona correttamente.

0

Ho avuto simile problema risolto da questi 3 passi

1.Goto google driver cromati sito ufficiale https://sites.google.com/a/chromium.org/chromedriver/downloads scaricare e decomprimere

2.Goto Visual Studio Esplora soluzioni fare clic su Aggiungi -> file esistenti - > selezionare il driver cromo

3.Right cliccare sul driver di cromo in VS e selezionare proprietà set per copiare sempre

Problemi correlati