• jmeter 单接口测试方案(接口无业务关联)


    前言

    前面开了一篇讲了Jenkins+jmeter+ant的使用,但没有说到具体怎么投入到项目使用,主要介绍了接口测试定义,流程和环境部署,所以我今天要说的就是我是怎么将这个方案投入到实际中使用的。这套方案主要用于相互接口之间无业务关联的测试。

    结构设计与数据准备

    接口测试的流程

      1、 项目启动后,测试人员要尽早找到开发人员拿到接口测试文档
      2、 获取接口测试文档后,就可以进行接口用例的编写和调试
      3、 接口用例编写调试完成后,部署到持续集成的测试环境中,
      4、 设定脚本运行频率,告警方式等基本参数,进行接口的日常监控
      5、 每日进行接口脚本的维护更新,接口异常的处理

    jmeter测试过程

     

    jmeter+jmeter+ANT 整体结构设计

    测试数据

     我的测试数据是用CSV管理的,包含域名、url、方法(get还是post)、 参数 、预期结果(可以是多个),使用excel创建然后转化程csv格式,这样一来我们只需要在excel中维护我们的用例就好了

     从数据格式可以看出,做了用例的执行标识,选中为YES时才执行,NO时不执行,这是一个用例选择执行的简单设计,还有请求的方法也是可以选择的,目前项目中的主要用POST和GET,除此之外之后要获取的还有用例名,调用的接口和具体的测试请求数据,这就是使用excel管理测试用例的模块

     注意:包含中文字符jmeter取值可能会报错,修改${jmeterhome}/bin/jmeter.profile 

    # The encoding to be used if none is provided (default ISO-8859-1)
    #sampleresult.default.encoding=ISO-8859-1
    sampleresult.default.encoding=UTF-8
    

    配置基本完成,之后就是项目的目录架构:

    1. ./Test_Play/目录用来放Jmeter生成的Case文件(编写时注意,不要用绝对路径,否则后续维护成本会提高)
    2. ./Test_suit/目录用来放Jmeter测试需要的相关配置文件
    3. ./资源/目录用来存放项目相关的一些文档信息
    4. build.xml文件,Ant的配置文件
    5. 阅读build.xml文件,会发先还有一个自动生成的目录./report,该目录下有两个目录jtl以及html,用来放置不同格式的测试报告。

    脚本设计

    添加一个CSV Data Set Config,把我们的文本路径填进去

    添加BeanShell PreProcessor和BeanShell PostProcessor,主要 目的是为了处理中文乱码

    添加if控制器,根据case_satus判断该条用例是否执行,根据Ament判断是HTTP请求还是JAVA请求,根据method,来判断执行get还是post的请求

    设置断言,判断我们的结果是否正确

    根据用例数,设置循环次数

    • 可使用java直接取值判断有多少条用例进行执行
    • String filename=vars.get("JF_API_data");
      String [] datalist=new String[20];
      String content;
      InputStream openfile = new FileInputStream(filename); 
      Workbook wb = Workbook.getWorkbook(openfile);
      Sheet FirstSheet = wb.getSheet(0);
      int totalRows=FirstSheet.getRows();
      int rows=totalRows-1;    //减1是因为我标题行不取,为了后面从第二行开始取
      String data=rows.toString();
      vars.put("row",data);   //用例行数
      wb.close();
      

       

    运行调试,查看结果

    接入jenkins

    脚本设计完以后,接入jenkins用ant去执行jmx就可以了,至于怎么用可以看我上一篇文章,报告预览:

  • 相关阅读:
    如何实现Echart不刷新页面,多语言切换下的地图数据重新加载,api请求数据加载,soketed数据实时加载
    web开发中各种宽高
    http请求方式和传递数据类型
    Hexo之傻瓜攻略
    SQL2008 R2安装功能选择
    Windows Server2012 R2中安装SQL Server2008
    用户权限管理数据库设计
    C#生成缩略图 (通用模式)
    CAD习题集
    菜鸟学习MVC实录:弄清项目各类库的作用和用法
  • 原文地址:https://www.cnblogs.com/YatHo/p/6061620.html
Copyright © 2020-2023  润新知