我已经下载了 POSTMAN Chrome 应用程序,以便在我的本地开发环境中测试一些 Web API。

此外,我还为 Postman 下载了 Newman cmd-line 实用程序。

有关更多信息,请参阅 https://www.getpostman.com/docs/newman_intro

因此 Postman 应用程序运行良好,cmd-line 实用程序也运行良好。

但是,一旦我将它与我的 Jenkins 测试服务器集成,测试就会失败。

主要问题是它无法启动 Newman

在标准的 cmd 提示符下,我可以成功运行 Newman 测试脚本:

  newman -c API-Collection.json -n 3

运行n次。

jenkins - 将 Postman 测试脚本与 Jenkins 构建服务器集成-LMLPHP

Jenkins 构建服务器 GUI 中,我在“执行 Shell”选项下添加构建脚本。

jenkins - 将 Postman 测试脚本与 Jenkins 构建服务器集成-LMLPHP

但它没有找到 Newman ,因为这个构建错误显示:

  FailedConsole Output

Started by user anonymous
Building in workspace C:\Program Files (x86)\Jenkins\workspace\Web Api Test1 (Team Gecko)
[Web Api Test1 (Team Gecko)] $ "C:\Program Files\bin\sh.exe" -xe C:\Windows\TEMP\hudson2522506155962538386.sh
+ newman -c C:\Users\robertjm\Documents\POSTMAN Files\Workbench-API-Collection.json -n 3 -y 1000 --exitCode 1 -o output.json -H output.html
C:\Windows\TEMP\hudson2522506155962538386.sh: newman: command not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE


如果有人可以帮助我解决此路径问题,我将不胜感激。

谢谢,
鲍勃

最佳答案

最终解决方案是:

1)添加构建步骤“执行Windows批处理命令”并在下面添加两行:

2) 将目录更改为 newman\bin:

  cd \Users\bob\appdata\roaming\npm\node_modules\newman\bin

3) 运行 node newman 而不是简单地尝试运行 newman
  node newman -c "C:\\Users\\bob\\Documents\\POSTMAN Files\\Workbench-API-Collection.json"

两个棘手的部分是:

1) 像这样 newman -c myCollection.json 一样运行 newman 不起作用,因为 Jenkins 无法像在直接的 Win cmd 提示符下那样解析这个节点模块。

2) 尝试定位 Newman 模块很困难,因为它隐藏在 %appdata% 文件夹内(即 c:\users\bob\$appdata$ )。

我希望这对 future 的人有所帮助。

祝你好运。

关于jenkins - 将 Postman 测试脚本与 Jenkins 构建服务器集成,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36632059/

10-11 01:19