5

Próbuję uruchomić i uruchomić protarostat zgodnie z oficjalnym Getting Started Guide.Kątomierz nie znajduje chromedriver: Plik wykonywalny sterownika nie istnieje:

Komenda

webdriver-manager start 

wydaje się płynnie:

webdriver-manager start 
seleniumProcess.pid: 22169 
Apr 23, 2014 10:27:46 AM org.openqa.grid.selenium.GridLauncher main 
INFO: Launching a standalone server 
Setting system property webdriver.chrome.driver to /usr/local/lib/node_modules/protractor/selenium/chromedriver 
10:27:46.959 INFO - Java: Apple Inc. 20.65-b04-462 
10:27:46.960 INFO - OS: Mac OS X 10.8.5 x86_64 
10:27:46.968 INFO - v2.41.0, with Core v2.41.0. Built from revision 3192d8a 
10:27:47.021 INFO - Default driver org.openqa.selenium.ie.InternetExplorerDriver registration is skipped: registration capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not match with current platform: MAC 
10:27:47.059 INFO - RemoteWebDriver instances should connect to: <link deleted> 
10:27:47.059 INFO - Version Jetty/5.1.x 
10:27:47.060 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver] 
10:27:47.060 INFO - Started HttpContext[/selenium-server,/selenium-server] 
10:27:47.061 INFO - Started HttpContext[/,/] 
10:27:47.092 INFO - Started [email protected] 
10:27:47.092 INFO - Started HttpContext[/wd,/wd] 
10:27:47.096 INFO - Started SocketListener on 0.0.0.0:4444 
10:27:47.096 INFO - Started [email protected] 

Jednak działa

protractor /usr/local/lib/node_modules/protractor/example/conf.js 

jako sugerowane prowadzi do błędów:

protractor /usr/local/lib/node_modules/protractor/example/conf.js 
Using the selenium server at <link deleted> 

/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1702 
    throw error; 
     ^
UnknownError: The driver executable does not exist: /usr/local/lib/node_modules/protractor/selenium/chromedriver 
at <anonymous> 

i stare okno rzuca wyjątek:

10:30:19.106 WARN - Exception thrown 
java.util.concurrent.ExecutionException: org.openqa.selenium.WebDriverException: java.lang.reflect.InvocationTargetException 
Build info: version: '2.41.0', revision: '3192d8a', time: '2014-03-27 17:17:32' 
System info: host: 'Dmitris-MacBook-Pro.local', ip: '172.20.10.2', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.8.5', java.version: '1.6.0_65' 
Driver info: driver.version: unknown 
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) 
at java.util.concurrent.FutureTask.get(FutureTask.java:83) 
at org.openqa.selenium.remote.server.DefaultSession.execute(DefaultSession.java:177) 
at org.openqa.selenium.remote.server.DefaultSession.<init>(DefaultSession.java:113) 
at org.openqa.selenium.remote.server.DefaultSession.createSession(DefaultSession.java:90) 
at org.openqa.selenium.remote.server.DefaultDriverSessions.newSession(DefaultDriverSessions.java:96) 
at org.openqa.selenium.remote.server.handler.NewSession.handle(NewSession.java:63) 
10:30:19.110 WARN - Exception: The driver executable does not exist: /usr/local/lib/node_modules/protractor/selenium/chromedriver 

Każdy pomysł co jest nie tak?

+2

Czy aktualizowałeś 'webdriver-manager'? –

+0

@TimCastelijns Tak, musiałem przerwać z powodu przekroczenia limitu czasu, jednak teraz mówi: 'samodzielny selen jest aktualny. chromedriver jest aktualny. –

+1

Dlaczego konfigurowanie środowisk testowych zawsze wydaje się być takim bólem. :( –

Odpowiedz

11

Usuń ten niezaudytowany plik zip (chromedriver_x.xx.zip) i musisz go ponownie uruchomić. Folder będzie wyglądać następująco:

chromedriver

chromedriver_2.10.zip

selen-server-wolnostojąca-2.43.1.jar

i wszystko idzie dobrze.

+0

Skończyło się na ręcznym pobieraniu pliku zip i umieszczeniu go w folderze. W jakiś sposób aktualizacja nie wyodrębniała się. – petsoukos

+0

też działa dla mnie - ale dlaczego to działa? –

+0

Dokładniej, sprawdź, czy wartość wersji "chromeedriver" wewnątrz pliku config.json w module node_modules/protractor pasuje do nazwy pliku zip, np. "Chromedriver": "2.21" => chromedriver_2.21.zip. to jedyna rzecz, która naprawiła to dla mnie. – Fanchi

0

W kątomierzu-config należy podać ścieżkę sterownika Chrome. Na przykład: chromeDriver: 'path',

+0

Niestety to nie pomogło, to ustawienie w 'conf.js' wydaje się być ignorowane:' chromeDriver: '/ usr/local/bin/chromedriver'' kiedy uruchamiam 'kątomierz conf.js' –

+0

Jeśli dodałeś chrząkanie Zależność -protractor-runner w pliku package.json Sterownik chrome pobrany w następującej ścieżce: node_modules/grunt-protractor-runner/node_modules/protractor/bin, po uruchomieniu aktualizacji menedżera webdrive lub innym rozwiązaniu innych zależności chromeDriver, Selenium i określ tę ścieżkę appriote –

+0

Rozwiązał to, ale z prawdziwym hackowaniem: Zmienił nazwę 'chromedriver_2.9.zip' wewnątrz'/usr/local/lib/node_modules/protractor/selenium/'(prawdopodobnie nie jest konieczne), zainstalowałem 'npm install selenium-webdriver -g' i' sudo npm install -g protractor', następnie 'selenium-server-standalone-2.41.0.jar' został uszkodzony, więc ręcznie pobrałem go z http: // selenu- release.storage.googleapis.com/index.html?path=2.41/ i zastąpione, th pl uruchomił 'aktualizację webdriver-manager 'i czekał, aż to się skończy, po czym' chromedriver' został rozpakowany, po czym wszystko działało jak dotychczas. –

-1

Podczas tworzenia/testowania tego samego samouczka napotkałem ten sam problem. W folderze selenowym projektu miałem chromedriver_2.13.zip, ale bez pliku exec chromedriver. Próbowałem go rozpakować bezpośrednio, ale bez radości.

Więc zainstalowałem kątomierz globalnie przy użyciu sudo npm install -g protractor, który instaluje pliki w usr/local/lib/node_modules/protractor/selenium/(na komputerze Mac). W tym folderze plik wykonywalny chromedriver istniał, więc skopiowałem/wkleiłem do folderu selenu projektu, a teraz kątomierz działa zgodnie z oczekiwaniami, używając polecenia npm run protractor z folderu projektu.

-1

Miałem problem na moim Macu. Rozwiązałem przez:

Ręczne pobieranie najnowszej chromedriver. Kopiowanie go do wybranej lokalizacji (protektor/selen /). Spróbuj ponownie - pracował

1

Miałem podobny problem w moim środowisku (Mac OS X 10.8.5).

Po tym, jak przez ponad godzinę pracowałem, w końcu zainstalowałem starszą wersję kątomierza (1.4.0) i działa bardzo dobrze.

npm install -g [email protected]

Jeśli chcesz użyć zadania grunt grunt-kątomierza-webdriver, należy korzystać z wersji 0.1.9, która działa prawidłowo w mojej env. Wersja 0.2.0 nie działa dla mnie. dzięki.

2

Dla użytkowników komputerów Mac:

W folderze 'kanciasty-phonecat' uruchom npm install chromedriver. Spowoduje to zainstalowanie sterownika chrome w folderze node_modules/chromedriver. Po tym, należy zmodyfikować test/protractor-conf.js, kierując go do nowego folderu chromedriver, dodając wiersz:

chromeDriver:'../node_modules/chromedriver/bin/chromedriver',

Wreszcie, można z powodzeniem uruchomić polecenie npm run protractor (nie zapominajcie, że należy uruchomić npm start pierwszy).

+1

Działa dobrze w moim IDE, ale Jenkins próbuje znaleźć własny Chromedriver (w /var/lib/jenkins/tools/chromedriver/chromedriver.ext). Zastanawiam się, jak mogłem to zmienić ... –

0

Napotkałem problem z niemożliwością uruchomienia testów kątomierza po aktualizacji MacOSX-a do el Capitan.

Udało mi się rozwiązać problem przez ponowne zainstalowanie chromedriver w systemie. Spróbuj uruchomić "sudo npm zainstalować chromedriver" z konsoli. To rozwiązało problem dla mnie.

4

Dzieje się tak z powodu najnowszej aktualizacji dla chromedriver. Jeśli używasz kątomierz, to łatwy sposób, aby rozwiązać ten problem jest po prostu uruchomić ten

Aktualizacja webdriver-Manager

grzywny działa na mnie teraz.