vlambda博客
学习文章列表

Jenkins+Newman+Postman接口自动化测试操作指南

  • 测试环境

    (1)postman8.0以上版本(https://www.postman.com/downloads/

    (2)高性能PC一台

    (3)Node

    (4)Jenkins

 

  • Collections设置

    步骤1:新建collections,新建requests,有几个requests就新建几个

    步骤2:逐一调通单个requests,根据实际接口设置Authorization(授权)、headers(请求头)、body(请求体)、Tests(断言)、globals(全局变量)保存后,单击“send”,返回值正确,如下图所示。

    (1)全局变量配置,点击右上角眼睛图标,设置Globals,参数及参数值,变量引用方式{{xxx}},变量可导出json格式,用于命令执行。

Jenkins+Newman+Postman接口自动化测试操作指南

Jenkins+Newman+Postman接口自动化测试操作指南

    (2)断言设置

    tests["Status code is 200"] = responseCode.code === 200;      //响应状态码200

 

    pm.test("Body matches string", function () {

    pm.expect(pm.response.text()).to.include("temperature");

    });           //响应内容包含某个字符

 

    pm.test("check data", function () {

    var jsonData = pm.response.json();

    pm.expect(jsonData.detail).to.eql("success");

    });           //检查json串value值

 

    (3)导出Collection集合。选中集合名称,右键——Export

Jenkins+Newman+Postman接口自动化测试操作指南


  • 客户端批量执行

    选中集合,单击“Run”,设置循环次数、间隔时间,开始执行,执行完成后的成功与失败次数按断言统计。

Jenkins+Newman+Postman接口自动化测试操作指南

Jenkins+Newman+Postman接口自动化测试操作指南

    注意:实测低版本postman批量执行500次,客户端易崩溃闪退,8.0版本测试10000次不会闪退。


  • 命令批量执行(PC已安装node)

     步骤1: 安装newman,cmd->npminstall newman –g
    步骤2:安装报告类型,cmd->npm install newman-reporter-html
    步骤3:新建一个test文件夹,将collection.json和globals.json拷贝到此文件夹中,cmd->cd到该目录,执行命令newman run E:\test\ collection.json -g E:\test\globals.json -n 2 --delay-request 2000 -r html, 运行完成后,会在test文件夹下生成newman文件夹,含html测试报告。

    -g    全局变量

    -n    循环次数

    --delay-request    间隔时间(ms)

    --r   报告类型

    客户端批量执行对PC的内存、CPU性能要求较高,且耗时长,使用命令批量执行后台运行,内存CPU使用率较低,循环次数大建议使用命令执行。


  • Jenkins持续集成(PC已安装jenkins)

    步骤1:新建Item->输入任务名称->选择Freestyle project->单击<确定>

Jenkins+Newman+Postman接口自动化测试操作指南

    步骤2:单击<配置>,单击<构建>,“增加构建步骤”选择,输入命令,单击应用、保存,跳转到工作区,单击<Build Now>。

    备注:可设置构建时间,单击<构建触发器>,选择,输入要构建的时间,如H/30 * * * *,保存后,每隔30分钟自动执行一次。


    踩过的坑,总结如下:

  • 安装新版本后无法正常启动

    解决方案:删除%appdata%目录下的postman文件

    win10的目录为:C:\Users[用户名]\AppData\Roaming\Postman,删除之后恢复正常。

  • 安装postman新版本后旧版本的集合无法导入

    解决方案:

        1.npm install -g postman-collection-transformer

        2.postman-collection-transformer convert 

           -i F:\v1\kuxin.postman_collection.json 

           -o F:\v2 

            -j 1.0.0 -p 2.0.0 -p

    注意:-i后接旧版本集合文件路径,-o后接转换后的新版本集合文件存储目录

  • 8.0版本,命令newman run E:\xxx.json -g E:\pmtest\postman_globals1.jso

    n,提示could not load globals

    解决方案:

        1.从postman导出的全局变量文件内容不能修改,文件名可更改

        2.-g后面的路径加引号试试

  • jenkins构建postman批处理提示newman' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    解决办法:命令前加上newman的路径,where newman 输出路径

        e:

        cd E:\pmtest

        C:\Users\06726hh\AppData\Roaming\npm\newman run v2_kuxin.postman_collection.js

         on

        -g kx_postman_globals.json 

        -n 1 --delay-request 1000 -r html


完~