首页 > 解决方案 > webdriver-manager 不被识别为内部或外部命令,尽管我在全球范围内安装了量角器(Jenkins)

问题描述

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

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

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

'webdriver-manager' 不是内部或外部命令、可运行程序或批处理文件。

无论我是从“执行 Windows 批处理命令”步骤还是从“Windows Powershell”执行这些命令都没有关系

在此处输入图像描述

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

标签: seleniumjenkinsprotractor

解决方案


您需要将 npm 全局包安装文件夹附加到PATH环境中。考虑到您通过 Jenkins 运行脚本,不建议修改PATHJenkins 从机上的环境。

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

您应该将其作为依赖项添加protractor到您的项目中。package.json然后执行npm installbyWindow 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>

推荐阅读