量角器找不到chromedriver:驱动程序可执行文件不存在:

时间:2014-04-23 09:36:22

标签: angularjs selenium integration-testing protractor selenium-chromedriver

我正在尝试按照官方Getting Started Guide启动并运行Protractor。

命令

webdriver-manager start

似乎运行顺利:

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 org.openqa.jetty.jetty.servlet.ServletHandler@4cc39a20
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 org.openqa.jetty.jetty.Server@1d5a0305

然而,正在运行

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

如建议导致错误:

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>

并且旧窗口抛出异常:

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

知道出了什么问题吗?

8 个答案:

答案 0 :(得分:12)

删除未完成的zip文件(chromedriver_x.xx.zip),您需要再次执行更新。 该文件夹将如下所示:

  

chromedriver

     

chromedriver_2.10.zip

     

硒 - 服务器 - 独立-2.43.1.jar

一切顺利。

答案 1 :(得分:4)

由于chromedriver的最新更新,这种情况正在发生。如果您使用量角器,那么解决问题的简单方法就是运行此

webdriver-manager更新

现在它对我来说很好。

答案 2 :(得分:2)

对于Mac用户:

在角线电话中&#39;文件夹,运行npm install chromedriver。这会将chrome驱动程序安装到文件夹node_modules/chromedriver中。在此之后,您应修改test/protractor-conf.js,将其指向新的chromedriver文件夹,方法是添加以下行:

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

最后,您将成功运行命令npm run protractor(不要忘记应先运行npm start)。

答案 3 :(得分:1)

我的环境中遇到了类似的问题(Mac OS X 10.8.5)。

经过一个多小时的挣扎,我终于安装了量角器的旧版本(1.4.0)并且工作得非常好。

npm install -g protractor@1.4.0

如果你要使用grunt task grunt-protractor-webdriver,你应该使用在我的环境中正常工作的0.1.9版本。它的0.2.0版本对我不起作用。感谢。

答案 4 :(得分:0)

在protractor-config中,您需要指定chrome驱动程序路径。例如  chromeDriver:&#39;路径&#39;,

答案 5 :(得分:0)

在将MacOSX更新为el Capitan之后,我遇到了无法运行我的量角器测试的问题。

我能够通过在系统上重新安装chromedriver来解决问题。 尝试运行&#34; sudo npm install chromedriver &#34;从你的控制台。这解决了我的问题。

答案 6 :(得分:-1)

在构建/测试相同教程时遇到了同样的问题。在项目selenium文件夹中我有chromedriver_2.13.zip,但没有chromedriver exec文件。我尝试直接解压缩,但没有快乐。

所以我使用sudo npm install -g protractor全局安装了量角器,它将文件安装在usr / local / lib / node_modules / protractor / selenium /(在Mac上)。在该文件夹中,chromedriver可执行文件确实存在,因此我复制/粘贴到项目selenium文件夹中,现在量角器按照预期使用项目文件夹内的npm run protractor命令运行。

答案 7 :(得分:-1)

我在Mac上遇到了问题。 我解决了它:

手动下载最新的chromedriver。将其复制到所需位置(protactor / selenium /)。再试一次 - 工作

相关问题