selenium - 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
安装量角器时变量没有更新?
解决方案
您需要将 npm 全局包安装文件夹附加到PATH
环境中。考虑到您通过 Jenkins 运行脚本,不建议修改PATH
Jenkins 从机上的环境。
1)更好的方法是使用本地protractor
和webdriver-manager
你的项目。
您应该将其作为依赖项添加protractor
到您的项目中。package.json
然后执行npm install
byWindow 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>
推荐阅读
- python - 我有每周卫星数据,但我想将其转换为每月数据。我该怎么做?
- amazon-web-services - 从 SFTP 获取文件到 S3 AWS
- python-3.x - 如何使用 mplcursors 在条形图上添加悬停注释
- visual-studio-2015 - 如何使用 SSIS Merge Join - 无法按预期工作
- sql - 展平表中可能为 NULL 或空的数组
- python - 使用 pyinstaller 转换后程序无法运行
- java - Android Fragment 使用完整路径进行导入
- excel - 多列的 sumif 范围
- svg - 了解 SVG 视口
- loops - SCSS for循环:将变量与索引混合