尽管我全局安装了量角器(Jenkins),但webdriver-manager无法识别为内部或外部命令

时间:2018-06-21 07:47:50

标签: selenium jenkins protractor

我正在尝试全局安装Protractor并通过执行以下命令来下载Selenium二进制文件。

npm install -g protractor
webdriver-manager update
webdriver-manager update --ie

当我直接从CMD或Powershell控制台执行它们时,它们可以正常工作。 不幸的是,当我尝试从Jenkins(在完全相同的机器上)执行它们时,只有第一个命令可以正确执行。下一个给出错误:

  

“ webdriver-manager”未被识别为内部或外部   命令,可运行的程序或批处理文件。

我是否从“执行Windows批处理命令”步骤或“ Windows Powershell”步骤执行这些命令都没关系

enter image description here

这是否意味着在安装量角器时path变量未更新?

1 个答案:

答案 0 :(得分:0)

您需要将npm全局软件包安装文件夹附加到PATH环境中。考虑到您是由Jenkins运行脚本的,因此不建议在Jenkins从属计算机上修改PATH环境。

1)更好的方法是使用项目的本地protractorwebdriver-manager

您应将protractor作为依赖项添加到项目的package.json中。然后通过npm install执行Window Batch Command以安装所有依赖项。

之后,您可以分别从protractorwebdriver-manager获得<project folder>/node_modules/.bin/protractor<project folder>/node_modules/.bin/webdriver-manager

所以您的Window Batch Command应该像这样:

npm install
./node_modules/.bin/webdriver-manager update --proxy <your proxy>
./node_modules/.bin/webdriver-manager update --ie --proxy <your proxy>

确保在npm install所在的文件夹下执行package.json。 如果您不知道该怎么做,请在问题中的屏幕快照中更新项目文件夹结构。

2)如果您希望动态修改PATH环境,则“窗口批处理命令”应类似于:

npm config get prefix > prefix
set /P prefix=<prefix
set PATH=%prefix%;%PATH%

npm install -g protractor
webdriver-manager version
webdriver-manager update --proxy <your proxy>
webdriver-manager update --ie  --proxy <your proxy>