接口测试工具篇-使用postman+newman+Jenkins持续集成

使用postman之前,需要有对应的接口文档,这里接口文档我就不单独发出来了,相信各位的公司都有对应的接口文档,如果没有的,也可以去网上下载免费的接口文档

这里我用一个登录论坛做测试用例

首先创建一个文件夹,然后在里面创建第一个测试用例,第一个是一个登录用例,这里只讲正面的用例(按照接口文档输入对应的地址,如果有参数就加参数,如果需要设置请求头的就按照接口文档设置对应的请求头,点击执行)

 

 这里我们可以添加后置断言,判断返回的结果是不是我们预期的结果,比如我这里,首页有一个唯一字段本站新帖,所以我这里就判断响应里面是否有这个唯一字段

 

我这里用了两个后置条件判断,一个是判断状态码是不是200,一个是判断是否包含唯一字段,这里可以根据实际需求设置自己的后置条件(后置条件内容介绍看上一章 https://www.cnblogs.com/wanggang199612/p/16281337.html

因为每个页面都需要使用http://47.107.116.139/这个ip,所以为了方便,可以把这个ip封装成全局变量

 

 封装以后,通过{{}}就是调用函数的意思,通过{{ip}}的方法也能访问成功

登录后,后续操作需要依赖登录,怎么处理呢?

这里就需要to_ken关联了,一般登录后,登录接口会返回一个唯一to_ken,把这个to_ken值取到传给需要关联的接口(具体是否需要to_ken看接口文档的要求)

比如我的接口,唯一的to_ken值在这里,这里就需要我们把这个值获取到并设置成全局变量,后续直接使用这个变量就行了

 

具体写法如下:这里由于页面内容过于复杂,就用的正则匹配的方式,通过json的写法也行

正则写法:var token = responseBody.match(new RegExp('<input type="hidden" name="csrf_token" value="(.+?)"'))[1]    然后设置全局变量:pm.globals.set("to_ken",token);
 

 

 json写法:pm.globals.set("to_ken",jsonData.login_info.token);   #这里jsonData指的获取json数据,.就是选择下级目录,token就指对应的key是token,获取对应的value值就是token值

 

添加成功后,查看变量就会多出一条对应的变量

 

接下来,我们再做一个登录的接口测试用例

这个接口需要添加请求头,要添加的请求头接口文档有说明,按照说明写进去就行了,如果不填写请求头会报错的

 当遇到post请求,就不能在params中输入信息了,而是在body里面输入请求信息,如下文

 

 注意:如果请求要求每次请求的数据不能重复,这里,我们可以通postman自带的函数来使用,比如

用法:{{$timestamp}}:生成当前的时间戳
   {{$randomlnt}}:生成1-100的随机数
   {{$guid}}:生成随机guid字符串

这写基本就是我们常用的postman的方法,接下来将postman批量执行,在postman内部也可以批量执行

 

 执行结果如下,但是这看起来既不美观也不简洁,所以,这里,我们需要使用newman来美化测试结果

安装 newman ( 前提:确保 npm -v 验证通过 ) 

安装 newman 前, 必须保证 node.js 已经装成功!!!

在线安装命令:npm install -g newman
安装完成之后,通过newman --version 去查看版本,如果能成功查到版本,就表示安装成功

安装好newman后,要执行Newman前,需要把用例和环境变量都导出,导出到指定位置,导出环境变量和导出用例如下

导出用例文档 :导出后,两个文件放在指定位置

newman运行发发如下:

newman run "D:\luntan.postman_collection.json" -e "D:\huanjing.json" -g "D:\quanju.json" -r cli,html,json,junit --reporter-html-export "D:\MyDrivers\\report.html"

newman run:运行newman,后面跟用例文件(指定到文件夹的对应位置)

-e环境变量:-e后面跟环境变量的文件,准确到路径,记得都用“”包起来

-g全局变量:-g后面跟环境变量的文件,准确到路径,记得都用“”包起来

-r生成报告:-r后面写报告格式 固定写法:r cli,html,json,junit --reporter-html-export

运行结果如下

 

路径下就有对应的html文件

 

 打开文件如下:

 

是不是更加清晰明了了?但是,如果我们需要晚上或者不在的时间定时执行呢?这个时候,就需要Jenkins了

介于篇幅,jenkins的下载安装教程这里就不单独说了,网上有很多教程,不清楚的朋友可以百度一下,下载成功后,通过8080端口就可以访问jenkins了

 

登录jenkins后,创建一个新项目,输入项目名称后,选择自由项目

 

 

 

这里可以设置自动执行,也可以不设置

 

 制造操作步骤选择新增执行windows批量处理命令,我们把newman的运行代码在这里输入,点击应用即可

 

 应用后,点击执行我们创建的项目

 

 执行后,查看控制台输出,即可输出对应的信息,我们的html文件也会随之更新

 

由于时间急促,写的比较简单,如果有任何不清楚的,欢迎留言告诉我 

 

posted @ 2022-05-18 22:25  另眼看尘世  阅读(503)  评论(0)    收藏  举报