首页 > 解决方案 > 'newman' 未被识别为内部或外部命令

问题描述

我已经关注了以下关于如何在Azure DevOps或 TFS 中配置邮递员/纽曼 API 测试并发布 HTML 结果的中等帖子?

在我的管道中,我有一个安装 newman 的任务(通过命令传递install newman -g)和一个运行 api 测试的任务。(失败 - 错误:'newman' 不被识别为内部或外部命令。)

我已经尝试过:一些可以在此处此处找到的解决方案。

在我的环境变量中,我有:

  1. npm\node_modules\newman\bin
  2. \npm\node_modules\newman
  3. %AppData%\npm

我确实使用安装了 newman npm install -g newman,如果我运行,newman -v我会得到5.2.2.

我运行 API 请求的 Azure 任务:newman run Auth.postman_collection.json -e UserAuthEnvironmentVariables.postman_environment.json --reporters cli,junit --reporter-junit-export Results\junitReport.xml

'C:\Users<user>\AppData\Roaming\npm' 包含 3 个 newman 文件,C:\Users\RRQA.RRIOMQAS01\AppData\Roaming\npm\node_modules\newman还包含文件和文件夹。

我的节点版本是v14.16.1,npm 版本是6.14.12

当我编辑环境变量时,我会重新启动服务器以确保更改确实生效。

任何其他建议我可能会尝试解决这个问题。?

标签: node.jsazurenpmpostmannewman

解决方案


当您从 azure 运行命令行并在本地登录系统时,它可能在不同的用户身份下运行(一个在管理员中,另一个在您的帐户中),所以有时您在环境变量中安装或设置的内容不会是在管理员身份登录中可用。

确保为所有用户完成安装。(添加路径到系统变量)否则:

将其安装为项目目录中的本地模块:

npm install newman newman-reporter-htmlextra

并使用:

"./node_modules/.bin/newman" run 

推荐阅读