0


基于Jenkins+Newman+Postman的接口自动化测试设计

前言

众所周知postman作为http接口测试工具有非常大的受众。本文介绍下如何用postman+jenkins+newman实现完全自动化的接口测试及测试结果查询。

Postman介绍

很好用的一款API/接口功能测试工具,很方便的塞数据,查看响应,设置检查点/断言,能进行一定程度上的自动化测试,但是不要指望它能代替你进行性能测试,一次批量执行太多太久的话容易崩溃掉。

Newman介绍

Newman 是 Postman 推出的一个 nodejs 库,直接来说就是 Postman 的json文件可以在命令行执行的插件。
Newman 可以方便地运行和测试集合,并用之构造接口自动化测试和持续集成。

自动化测试架构设计

  • 测试人员通过postman编写测试case
  • 编写完成过后通过本地测试
  • 导出测试用例到json文件中
  • 将导出用例文件上传到gitlab
  • 触发jenkins构建
  • 通过jenkins pipelilne完成测试
  • 将测试结果保存到指定html中
  • 通过jenkins插件浏览测试结果

jenkinsfile

通过编写Jenkinsfile实现流水线

node {
   stage('prepare') {
       checkout([$class: 'GitSCM', branches: [[name: 'origin/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '*****************************', url: '*******.git']]])
        path = '/var'
        sh "newman run Collection.postman_collection.json  -r html --reporter-html-export ${path}/out.html"

   }
   stage('build') {
      publishHTML (target : [allowMissing: false,
       alwaysLinkToLastBuild: true,
       keepAll: true,
       reportDir: path,
       reportFiles: 'out.html',
       reportName: 'PostMan Reports',
       reportTitles: 'PostMan Report'])
   }

}

问题总结

  • 1. jenkins 执行 newman 超时导致jenkins失败

** 解决方案:jenkins pipline增加超时设置 ** timeout(time: 30, unit: 'MINUTES'){}

  • **2. newman cli命令执行完exit code 1 导致jenkins失败 **

** 解决方案:newman cli增加 -x , --suppress-exit-code参数 强制 shell命令推出返回 0**

总结

通过以上集成方式可以方便的搭建整个接口自动化测试方案。

后续继续分享 前端自动化架构实现方案


本文转载自: https://blog.csdn.net/woshiyizhiyu0/article/details/125274064
版权归原作者 systemup_v1 所有, 如有侵权,请联系我们删除。

“基于Jenkins+Newman+Postman的接口自动化测试设计”的评论:

还没有评论