升级jdk,node&之后无法启动webdriver-manager;的webdriver

时间:2015-12-25 11:01:40

标签: node.js selenium-webdriver protractor webdriver-manager

我升级了Node,Protractor,JDK& webdriver到最新版本。 现在我不能再通过CMD而不是Node命令行启动webdriver-manager。

有什么想法吗?

错误: 您的环境已设置为使用Node.js 0.12.2(x64)和npm。

C:\Users\idan>cd c:\automation\tests\node_modules\protractor\bin

c:\automation\tests\node_modules\protractor\bin>webdriver-manager start
selenium.pid: 6484
'java' is not recognized as an internal or external command,
operable program or batch file.
Selenium Standalone has exited with code 1

c:\automation\tests\node_modules\protractor\bin>

3 个答案:

答案 0 :(得分:2)

您需要设置jdk并设置JAVA_HOME环境变量:

另见:

答案 1 :(得分:1)

是的,谁做了webdriver-manager,做了太多的假设......:S

在我的机器上查找webdriver-manager \ built \ lib \ cmds \ start.js

C:\Users\XYZ\AppData\Roaming\npm\node_modules\protractor\node_modules\webdriver-manager\built\lib\cmds\start.js

找到以

开头的行
var seleniumProcess = spawnCommand

替换该行和前一行
logger.info(process.env.JAVA_HOME+'\\bin\\java.exe' + argsToString);
var seleniumProcess = spawnCommand(process.env.JAVA_HOME+'\\bin\\java.exe', args);

设置你的JAVA_HOME并进行设置。

如果您不知道如何设置JAVA_HOME,请执行以下操作:

使用管理员权限运行命令提示符(cmd.exe),然后运行

dir c:\java.exe /s/a/b

过了一会儿,你会得到至少一行文字,比如

C:\Dev\Java\JDK\jre\bin\java.exe

如果没有文字行,你就不会在C盘上安装java。 :(重复其他字母或安装Java JRE。

选择任何这些文字行。您的java_home是 设置它,在我的情况下,我会这样做:

setx /m JAVA_HOME C:\Dev\Java\JDK\jre\

setx将永久性地在整个机器范围内设置JAVA_HOME。如果要为当前用户永久设置JAVA_HOME,请删除/ m参数。如果你想暂时设置JAVA_HOME,只为那个打开的"命令提示符"窗口这样做:

set JAVA_HOME=C:\Dev\Java\JDK\jre\
祝你好运。

答案 2 :(得分:1)

我运行了命令

webdriver-manager start

并收到上述错误消息。

然后按照David C的说明进行操作,此问题终于解决了。但是在此之前,我还必须安装JDK。这是完整的步骤。

  1. 我搜索了 install java jdk windows 10 64 bit ,并最终找到了该Java JDK Installation

  2. 滚动一点并单击JDK Installation Instructions for Windows

  3. 按照那里的说明,再次搜索 Java SE开发工具包10下载,并在Java SE Development Kit 13 Downloads页面上结束。这似乎是到目前为止的最新消息

  4. 下载了 Windows x64安装程序。文件名如下所示: jdk-13.0.2_windows-x64_bin.exe 。 13似乎是最新的。

  5. 在我的计算机上,查看了C:\ Program Files \ Java。此JAVA文件夹尚不存在。

  6. 运行以管理员权限下载的exe。

  7. 通过查看C:\ Program Files \ Java来确保已安装Java。我在其中有一个文件夹C:\ Program Files \ Java \ jdk-13.0.2。

  8. 现在遵循David C's的说明。打开命令提示符并运行

    dir c:\java.exe /s/a/b 
    

    确认我的路径是c:\ Program Files \ Java \ jdk-13.0.2 \ bin \ java.exe

  9. 现在,我在同一管理命令提示符下运行

    setx /m JAVA_HOME "c:\Program Files\Java\jdk-13.0.2"
    
    setx JAVA_HOME "c:\Program Files\Java\jdk-13.0.2"
    
  10. 最后掌握了start.js。我的位于C:\ Users \ XYX \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ webdriver-manager \ built \ lib \ cmds

  11. 注释了以下几行

    //logger.info('java' + argsToString);
    //let seleniumProcess = utils_1.spawn('java', args, stdio);`
    

    ,然后将其替换为

    logger.info(process.env.JAVA_HOME+'\\bin\\java.exe' + argsToString);
    let seleniumProcess = utils_1.spawn(process.env.JAVA_HOME+'\\bin\\java.exe', args, stdio); 
    
  12. 现在运行命令

    webdriver-manager start
    

    最后知道了。 -Selenium Server已启动并在端口4444上运行

经历所有这些步骤很痛苦。