• Jmeter读取excel表中用例数据实现接口压测


            传统的接口测试,都是在接口中手动输入不同用例准备的多种场景参数数据,一遍一遍的输入来执行多个不同的用例,但是现在利用excel表格准备各种类型的数据,使用Jmeter中Jmeter CSV Data Set Config参数化实现可设置的、一次性的读取excel表中多个或者全部用例设计的数据,一次性看到多个用例数据运行出相应的结果。这样可以避免了每次去更改参数值的烦恼,也减少修改参数出错的机率。这样大大减少了测试人员的工作量,并且也提高了接口测试用例的执行效率。Jmeter 读取excel数据使用的方法是使用Jmeter CSV Data Set Config参数化,使用方法如下:

    一、数据准备

           准备数据文件,一般以 .csv,.dat 等结尾的文件,数据之间的分隔符可用 ,或者 tab。
    其中,将excel文件保存成csv格式后,jmeter读取后返回的数据总是出现乱码问题,以下就是解决的办法:先制作一个excel表格,导出存为.csv格式的文件。读取txt中的数据也是类似方法。

    二.使用CSV Data Set Config参数化将csv里面的数据读取

    以下是CSV Data Set Config各个参数使用说明:
    (1)Filename:数据文件的路径。
    (2)Delimiter:数据之间的分隔符可用 ,或者 tab。
    (3)Allow Quoated data: 双引号相关,例:如果参数中需包含,或者”等,该项可以选择True。
    (4)Recycle on EOF: 设置为True后,允许循环取值
    (5)Stop Thread EOF: 当Recycle on EOF为false并且Stop Thread EOF 为true,则读完csv文件中的记录后,停止运行,线程数及执行次数无效。
    (6)Sharing Mode:共享模式: 
    • All threads:所有线程,所有线程循环取值,线程1取第一行,线程二取下一行。
    • Current thread group:当前线程组,各个线程组分别循环取值。
    • Current thread:当前线程,该测试计划内的所有线程都取第一行。

    三、参数的应用

    本实例是以居民端H5的XXXX接口为例,体验一下Jmeter通过获取excel中的用例数据运行一堆用例的过程,体验一下数据驱动的执行方式:

    1.先准备测试数据,准备了多条不同的测试用例的数据

    2.使用benshell将数据获得

    3.下面是添加一个Debug sampler(里面什么也不用,设置保持默认)

    Debug Sampler介绍:
      使用Jmeter开发脚本时,难免需要调试,这时可以使用Jmeter的Debug Sampler,它有三个选项:JMeter properties,JMeter variables,System properties:
    (1)JMeter properties和System properties:通常都选false,这两个就是JMeter和系统的属性,在Jmeter的bin的jmeter.properties中定义,一般都不会变。
    (2)JMeter variables:这个是我们自已定义的变量,定义的方式有如下这些:
      a) 选中测试计划(Test plan),在右边的面板上添加User Defined Variables
      b) 选中线程组,右键选择 配置元件( config element)-->User Defined Variables
      c) 通过后置处理器生成的变量
      d)使用csv参数化的变量

    4.添加一个http post接口,传参需是json格式,因此要先配置http信息头管理器

     

    5.添加线程组的察看结果树

            根据设置的执行用例数目,比如:100,则执行excel表中相应的100条用例数据,并输出对应的结果,也可以进行对应的压测。此时会把excel中准备的数据前100条用例都会执行一遍,如果进行压测时,则可以把循环的测试次数设置的足够大,比如:1000,查看聚合报告,就可以看到接口测试压力测试的情况了很方便。
      (1)察看结果树  

    (2)聚合报告。对接口遍历100个用例的压测,其运行得到的聚合报告图,如下:

  • 相关阅读:
    剑指Offer-11.二进制中1的个数(C++/Java)
    剑指Offer-10.矩形覆盖(C++/Java)
    剑指Offer-9.变态跳台阶(C++/Java)
    UVA 1608 Non-boring sequence 不无聊的序列(分治,中途相遇)
    UVA1607 Gates 与非门电路 (二分)
    UVA 1451 Average平均值 (数形结合,斜率优化)
    UVA 1471 Defense Lines 防线 (LIS变形)
    UVA 1606 Amphiphilic Carbon Molecules 两亲性分子 (极角排序或叉积,扫描法)
    UVA 11134 FabledRooks 传说中的车 (问题分解)
    UVA 1152 4 Values Whose Sum is Zero 和为0的4个值 (中途相遇)
  • 原文地址:https://www.cnblogs.com/amberdyy/p/8434776.html
Copyright © 2020-2023  润新知