• JMeter —— 接口自动化测试(数据驱动)


    前言

    之前我们的用例数据都是配置在HTTP请求中,每次需要增加,修改用例都需要打开JMeter重新编辑,当用例越来越多的时候,用例维护起来就越来越麻烦,有没有好的方法来解决这种情况呢?我们可以将用例的数据存放在csv文件中,然后通过csv文件配置来读取用例中的数据,执行测试。

    一:设置测试用例,创建用例数据文件:testcase.csv

    用例名称变量含义:

    ${caseSeq}:用例编号

    ${apiType}:api 类型

    ${apiSeq} :api 版本号

    ${apiName}:api 名称

    ${priority}:优先级

    ${url}:api 路径

    ${methods}:请求方法

    ${parameter}: 请求参数

    ${expectValue}:期望值,用于断言

    注意:为了避免JMeter读取CSV文件出现乱码的情况,应先创建xls的文件,然后另存为csv格式的文件。

    二:新建一个线程组,命名为:数据驱动,添加配置元件-HTTP请求默认值,配置好IP地址和端口号

    三:添加逻辑控制器-循环控制器。 循环控制器的作用可以控制整个用例循环执行的次数。默认值是1根据用例数量可以修改为8

    1. 现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
    2. 如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
    3. 可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
    4. 分享他们的经验,还会分享很多直播讲座和技术沙龙
    5. 可以免费学习!划重点!开源的!!!
    6. qq群号:310357728【暗号:csdn888

    四:在循环控制器节点下添加CSV数据文件设置,具体配置内容如下:

    五:添加逻辑控制器——如果(if) 控制器,if 控制器的作用为根据不同条件执行不同的用例,例如这里根据不同的接口请求类型,分别添加GET和POST两个控制器。

    (1)GET 设置的条件语句为:"${methods}"=="GET",其中 ${methods}表示引用 csv 中的 methods 中的值

    (2)POST 条件语句设置为:"${methods}"=="POST"

    注:Interpret Condition as Variable Expression?:如果这个选项被选中,将不会使用 js 解析;条件表达式的值必须是 true(忽略大小写),这里我们取消勾选状态。

    Evaluate for all children:如果选中这一项,在每个子结点执行前都会计算表达式

    六:GET和POST两个控制器下分别添加请求和响应断言

    (1)添加GET请求类型的用例,用例名称格式:${caseSeq}_ ${apiSeq}_${apiName}

    注:以CSV文件的参数名称来组合命名HTTP请求的名称,这样在结果树就会依据用例的编号,接口名称等显示每个用例的名称

    (2)断言设置如下:${expectValue}引用 csv 中对应的值。

    (3)添加POST请求类型的用例,用例名称格式:${caseSeq}_ ${apiSeq}_${apiName}

    (4)断言设置如下:${expectValue}引用 csv 中对应的值。

    (5)POST请求如果发送的是json格式的参数,需要添加配置元件-HTTP信息头管理器,写入名称:Content-Type;值:application/json

    七:添加监听器-察看结果树,点击运行,查看执行结果

    通过这样的数据驱动,当面对大量用例时在JMeter设置就非常方便,后续的用例维护也非常高效,因为不用在JMeter一个个去单独修改用例了。

    END,今天的分享就到此结束了!点赞关注不迷路!

  • 相关阅读:
    Facebook平台特征概述
    Vue2 大型项目升级 Vue3 详细经验总结
    java-php-python-ssm视频网站的设计与实现计算机毕业设计
    ROS从入门到精通2-7:Gazebo仿真之动态生成障碍物
    【uniapp】【微信小程序】wxml-to-canvas
    springMVC基础技术使用
    孙宇晨出席米尔肯研究院亚洲峰会:持续推动行业破圈 亚洲将成重要加密中心
    记录|LabVIEW从0开始【09~10】
    基于PHP使用influxdb搭建监控服务系统
    KMS在腾讯云的微服务实践助力其降本50%
  • 原文地址:https://blog.csdn.net/MJH827/article/details/134531486