zoukankan      html  css  js  c++  java
  • 接口测试 从 0 到 1,用 Jmeter 搭建 HTTP 接口自动化引擎 1.0 版本

    百度网盘地址更新:https://pan.baidu.com/s/13S0WStZpwlbL15IBp_Q-bg

    1、已实现功能描述

    1.1 框架包含:Jenkins、Ant、Jmeter

    1.2 测试用例来源:.csv文件

    如图:

     

    1.3 报警邮件

    • 失败用例内容:详细说明失败用例的所有信息
       
    • 失败用例组统计及附件:
       
    • 附件内容包括
    • 测试用例执行摘要:
       
    • 测试用例详细信息:
       

    1.4 自动化测试执行需要修改内容

    • 编写测试用例

       
    • 修改用例文件地址

       
    • 修改报告附件地址

       

    2、接口自动化引擎逻辑详解

    2.1 引擎框架

     

    2.2 引擎逻辑描述

    2.2.1 全局变量设计

     

    2.2.2 测试用例文件导入

     

    2.2.3 http头信息管理

     

    2.2.4 http cookie信息管理

     

    2.2.5 判断用例文件中用例是否需要测试

     

    2.2.6 判断http请求是post还是get

    • 如果http请求是post
       

    2.2.7 post请求配置逻辑

    • 获取post请求数据
       
    • BeanShell断言内容
       
      断言内容解析:
    int errcount = Integer.parseInt(vars.get("errcount").trim());    //统计失败用例数
    int allcount = Integer.parseInt(vars.get("respcount").trim()); //统计用例组的用例数
    if(SampleResult.getResponseCode().equals("200") && SampleResult.getResponseDataAsString().contains("${ResponseData}")){ //判断 状态码和断言内容
    SampleResult.setSuccessful(true); //如果状态码和断言都匹配成功,标记该用例通过
    vars.put("sendemail","no"); //标记不需要发送报警邮件
    allcount++; //用例数+1
    vars.put("respcount",allcount.toString()); //把当前已执行用例数保存到全局变量中
    }else { //如果状态码或断言,有一个不匹配
    errcount++; //失败用例数+1
    allcount++; //用例数+1
    SampleResult.setSuccessful(false); /标记该用例执行失败
    String code = SampleResult.getResponseCode(); //获取状态码
    String msg = SampleResult.getResponseMessage(); //获取响应信息
    String data = SampleResult.getResponseDataAsString(); //获取响应Body
    vars.put("Reqstauts","requestNook"); //标记该用例状态为 requestNook
    vars.put("respcode",code); //保存状态码到全局变量
    vars.put("respmsg",msg); // 保存响应信息到全局变量
    vars.put("respdata",data); //保存响应body到全局变量
    vars.put("errcount",errcount.toString()); // 保存失败用例数到全局变量
    vars.put("respcount",allcount.toString()); //保存统计用例数到全局拜纳凉
    vars.put("sendemail","yes"); //修改全局变量sendemail为yes,发送报警邮件
    }
    • 判断是否发送邮件
       
    • 利用SMTP Sampler发送邮件
       

    2.2.8 get请求配置逻辑

     

    2.2.9 所有用例执行完毕,发送报警邮件

     
    • 邮件内容如下:

       
    • 至此,Jmeter HTTP接口自动化引擎搭建完毕
      还可以利用jenkins定时执行Jmeter引擎,从而实现对线上接口的监控

       

    资料参考:
    (1)Jmeter build.xml文件:http://pan.baidu.com/s/1i46tMlR
    (2)Jmeter生成报告格式(参考heman贺满博客http://www.cnblogs.com/puresoul/http://pan.baidu.com/s/1kVssMzl):
    (3)jmeter.properties(修改jmeter生成.jtl文件内容配置):http://pan.baidu.com/s/1cyaNlc
    (4)测试用例模版:http://pan.baidu.com/s/1hselPlU
    (5)Jmeter接口自动化引擎内容:http://pan.baidu.com/s/1geC34pt

  • 相关阅读:
    JDBC笔记01-JDBC,Connection,Statement,ResultSet,PreparedStatement,Properties
    JavaWeb笔记05-解决线程安全问题
    JavaWeb笔记04-解决GET与POST乱码问题
    JavaWeb笔记02-Tomcat
    HttpServletResponse类
    ServletContext类
    Servlet类以及简单的登录功能
    http和Tomcat协议
    XML
    反射
  • 原文地址:https://www.cnblogs.com/wsy0202/p/11278845.html
Copyright © 2011-2022 走看看