我升级了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>
答案 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。这是完整的步骤。
我搜索了 install java jdk windows 10 64 bit ,并最终找到了该Java JDK Installation。
按照那里的说明,再次搜索 Java SE开发工具包10下载,并在Java SE Development Kit 13 Downloads页面上结束。这似乎是到目前为止的最新消息
下载了 Windows x64安装程序。文件名如下所示: jdk-13.0.2_windows-x64_bin.exe 。 13似乎是最新的。
在我的计算机上,查看了C:\ Program Files \ Java。此JAVA文件夹尚不存在。
运行以管理员权限下载的exe。
通过查看C:\ Program Files \ Java来确保已安装Java。我在其中有一个文件夹C:\ Program Files \ Java \ jdk-13.0.2。
现在遵循David C's的说明。打开命令提示符并运行
dir c:\java.exe /s/a/b
确认我的路径是c:\ Program Files \ Java \ jdk-13.0.2 \ bin \ java.exe
现在,我在同一管理命令提示符下运行
setx /m JAVA_HOME "c:\Program Files\Java\jdk-13.0.2"
setx JAVA_HOME "c:\Program Files\Java\jdk-13.0.2"
最后掌握了start.js。我的位于C:\ Users \ XYX \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ webdriver-manager \ built \ lib \ cmds
注释了以下几行
//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);
现在运行命令
webdriver-manager start
最后知道了。 -Selenium Server已启动并在端口4444上运行
经历所有这些步骤很痛苦。