我正在尝试按照官方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
知道出了什么问题吗?
答案 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 /)。再试一次 - 工作