postman+newman+node.js+git+jenkins实现接口自动化持续集成

Posted yuan-x

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了postman+newman+node.js+git+jenkins实现接口自动化持续集成相关的知识,希望对你有一定的参考价值。

缺少的配图会在后期慢慢更新出来

1 首先我们来说说postman+newman+node.js+git+jenkins它们之间的关系。首先jenkins只支持命令行模式,包含win的和linux的。postman的命令行运行环境是newman,而newman又依赖于node.js。

2 以上软件都是开源的,大家百度一下很容易找到。

  jenkins 地址 https://jenkins.io/download/

  其中jenkins下载war包放入tomcat启动.

  在配置上win环境和linux配置略有不同。

    1 linux需要建立一个账号名Jenkins,并且提升至root权限,用此jenkins账号生成git秘钥对,否则有时候无法拉取git的分支。这一点我有疑问,运维大神可以出来指点指点。

    2 在节点配置上linux需要将全路径配置上,否则会报错。而win换将貌似不需要

    

3 我的测试环境和生产环境是一样的,开发并没把加密拿掉 ,索性postman支持js代码,可以实现AES加密

  

 

技术图片

 

 

下边是解密

技术图片

 

 

4 postman写成的脚本导出到本地git仓库中,当然还有你的环境集合。这里多说一嘴,postman并不适合做多接口串行,当然不是不能做,例如可以使用  pm.globals.set(变量名, 变量值) 设置到环境变量中 然后在其他脚本中进行引用就行了,但是如果入参和断言需要到数据库取值的情况postman就不大灵活了,当然postman也有对应的插件可以支持简单的数据库增删改查。总之工具是没有代码来的方便的,这也是我工作中逐渐放弃工具转向代码的原因,我认为python是对测试比较友好的,语法简单,资源丰富。有兴趣的不妨去学习下。技术图片

5 如果你本地安装的有newman和node.js也可以在推送git之前对脚本先行调试

   dos/shell 中cd到脚本所在目录  newman run 脚本名 -e 环境文件名 -d 数据文件名 -r html

6 jenkins 的git以及邮件配置

   1  邮件配置,当脚本运行之后形成的测试报告会以邮件的方式发送给指定邮箱

           系统管理中》》》》》Jenkins Location中配置jenkinsurl路径以及管理员邮箱,此邮箱也是下边邮件配置的使用邮箱

    

     技术图片

 

 

 

 

     邮件通知中 配置stmp邮件服务器

技术图片

 

 

 

 

 

点击 邮件通知中  高级  进行具体的邮件通知配置

技术图片

 

 7 jenkis中git的配置

 

 

 

   进入系统管理 》》》》》全局工具配置

    技术图片

 

 

配置jenkins服务端的git路径

技术图片

 

 

 

配置jenkins凭据 就是将git的私钥添加到jenkins的凭据中去

技术图片

 

 

 

 

 

 

 

 

 

 

 

选择认证方式 填写git私钥

技术图片

 

 

 

 

在jenkins工程构建中  配置git 

 

技术图片

 

 

开始构建后可以看到已经成功拉取到git分支上的文件

技术图片

 

 

拉取对应的git对应的分支

安装git parameter插件  然后构建中 选择参数化构建

技术图片

 

 

配置git parameter  参数

技术图片

 

 

 

 

 

 

在源码管理中配置分支变量

技术图片

 

返回工程中 立即构建  变成  Bulid with Parameters  

 

技术图片

 

 

无论是接口自动化,UI自动化,app自动化都要考虑到公司的实际情况来实行,其中接口自动化的收益最高,但是展示的结果上来看是没有UI自动化来的直观、

接口自动化分单接口,多接口,或者两者的混合。

单接口自动化注重单接口的精度,比如边界等价,以及单接口内参数的组合等

多接口自动化注重业务场景,接口的返回值要能向下延伸

其中单接口的见效最快。

总之自动化只是一种概念,具体采用哪一种框架来实现,可以根据实际情况来实现。

以上是关于postman+newman+node.js+git+jenkins实现接口自动化持续集成的主要内容,如果未能解决你的问题,请参考以下文章

7postman中的Newman插件

7postman中的Newman插件

Postman之newman安装使用

4,postman和newman的联合使用

newman使用

newman使用