我正在尝试全局安装Protractor并通过执行以下命令来下载Selenium二进制文件。
npm install -g protractor
webdriver-manager update
webdriver-manager update --ie
当我直接从CMD或Powershell控制台执行它们时,它们可以正常工作。 不幸的是,当我尝试从Jenkins(在完全相同的机器上)执行它们时,只有第一个命令可以正确执行。下一个给出错误:
“ webdriver-manager”未被识别为内部或外部 命令,可运行的程序或批处理文件。
我是否从“执行Windows批处理命令”步骤或“ Windows Powershell”步骤执行这些命令都没关系
这是否意味着在安装量角器时path
变量未更新?
答案 0 :(得分:0)
您需要将npm全局软件包安装文件夹附加到PATH
环境中。考虑到您是由Jenkins运行脚本的,因此不建议在Jenkins从属计算机上修改PATH
环境。
1)更好的方法是使用项目的本地protractor
和webdriver-manager
。
您应将protractor
作为依赖项添加到项目的package.json
中。然后通过npm install
执行Window Batch Command
以安装所有依赖项。
之后,您可以分别从protractor
和webdriver-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>