我已经下载了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
Run Code Online (Sandbox Code Playgroud)
运行n次.
在Jenkins构建服务器GUI中,我在"Execute Shell"选项下添加构建脚本.
但它找不到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: FAILURERun Code Online (Sandbox Code Playgroud)
如果有人可以协助我解决这个问题,我将不胜感激.
谢谢,鲍勃
最终解决方案是:
1)添加构建步骤"执行Windows批处理命令"并在下面添加两行:
2)将dir更改为newman\bin:
cd \Users\bob\appdata\roaming\npm\node_modules\newman\bin
Run Code Online (Sandbox Code Playgroud)
3)运行node newman而不是简单地试图运行newman
node newman -c "C:\\Users\\bob\\Documents\\POSTMAN Files\\Workbench-API-Collection.json"
Run Code Online (Sandbox Code Playgroud)
两个棘手的部分是:
1)像这样运行newman newman -c myCollection.json是行不通的,因为Jenkins无法像在Win cmd的直接提示中那样解析这个节点模块.
2)试图找到Newman模块很困难,因为它隐藏在%appdata%文件夹中(即c:\ users\bob\$ appdata $).
我希望这可以帮助将来的某个人.
祝好运.
| 归档时间: |
|
| 查看次数: |
8315 次 |
| 最近记录: |