• Jmeter(八):jmeter接口自动化测试操作流程、计数器、定时器详解


    Jmeter:jmeter接口自动化测试操作流程

    在企业使用jmeter开展实际的接口自动化测试工具,建议按如下操作流程, 可以使整个接口测试过程更规范,更有效。

    接口自动化的流程:

    1、获取到接口文档:swagger、word、excel ...

    2、熟悉接口文档然后设计测试用例(一般都是先在excel中编写)

    3、进行用例评审

    4、将excel中的测试用例在jmeter中编写完成(配置信息、数据、断言)

    5、在相应的测试阶段执行jmeter中的接口用例

    6、出接口测试报告

    测试时间段:

    测试——后端——测试单元、接口——时间:当API开发完成后

    测试——前端——测试功能、业务——时间:当前端开发完成后

    接口测试用例录入到jmeter中详细操作:

    1. 在测试计划下新增一个线程组,并对测试计划和线程组根据项目重新命名

    2. 在线程组下新增一个用户定义的变量元件,进行URL等公共参数设置

    3. 在线程组下新增一个全局的http请求默认值元件进行取样器公共部分的设置

    4. 在线程组下根据公司接口测试需要新增事务控制器元件作为按模块组织接口 的文件夹(事务控制器元件类似文件夹的含义,暂不具体讲解)

    5. 在事务控制器下继续新增事务控制器作为单个接口的测试用例汇总文件夹

    6. 在单个接口的测试用例汇总文件夹中继续新增事务控制器作为单个测试用例 的文件夹

    7. 在单个用例的文件下新增取样器和断言操作(一般断言操作可设置在最后一 个请求中)

    8. 反复根据2.5--2.7的过程增添接口测试用例

    9. 添加察看结果树进行结果察看

    实战如下图:

    同时,我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺,免费领取

    软件测试视频教程观看处:

    字节大佬教你逼自己如何在15天内掌握自动化测试(接口自动化/APP自动化/Web自动化/性能测试),内含项目实战

    Jmeter:jmeter计数器

    如果需要引用的数据量较大,且要求不能重复或者需要递增,那么可以使用计数器来实现

    如:新增功能,要求名称不能重复

    1、新增计数器

    计数器:允许用户创建一个在线程组之内都可以被引用的计数器。

    计数器允许用户配置一个起点,一个最大值,增量数,循环到最大值,然后重新开始,继续这样,直到测试结束。

    配置路径:配置元件——计数器

     2、在http请求中引用计数器 ${data}

     3、在线程组中循环次数为10次

     4、执行后查看结果树,每次循环计数器地址一个数字;如下图:

    第一次迭代数据

    第二次迭代数据

    Jmeter:jmeter_定时器

    固定定时器

    如果你需要让每个线程在请求之前按相同的指定时间停顿,那么可以使用这个定时器;需要注意的是,固定定时器的延时不会计入单个sampler的响应时间,但会计入事务控制器的时间

    1、使用固定定时器位置在http请求中;每次http请求前延迟3秒;

    配置路径——定时器——固定定时器;如下图:

    2、线程组循环3次,通过表格查看结果;如下图:

    统一随机定时器

    1、可以对每个http请求前做随机延迟;如下图:

    2、线程组循环3次,通过表格查看结果;如下图:

    高斯定时器

    1、可以对每个http请求前做随机延迟;如下图:

    2、线程组循环3次,通过表格查看结果;但是高斯定时器有时会超时设置的延迟时间;延迟3--5秒,有时会延迟导出5秒以上;故建议想要固定延迟时间可使用固定定时器;如下图: 

    同步定时器

    同步定时器顾名思义就是所有的操作同一时间开始执行,通过使用同步定时器可以对某个请求进行并发的操作;一般用作压力测试;如下图

    同步定时器添加路径:定时器>Synchronizing Timer(同步定时器)

    模拟用户组的数量:设置并发用户数,如果设置为0,代表线程组的线程数。

    超时时间:设置并发用户数等待的时间,0表示等到模拟用户数全部到位后开始释放执行;

    举例:模拟用户组数据设置为10,超时时间设置为5秒 ==》用户1第一个到达同步定时器开始计时,如果3秒钟,10个都到了,就一起释放执行后续的请求;如果5秒钟到了,只来了7个,那么7个一起释放执行后续的请求;特殊情况,超时时间设置为0,表示到达用户数不能达到模拟用户组的数量,则无限等待;

    使用同步定时器实例:

    以上图中的同步定时器为例,在登录1请求下添加同步定时器,如果线程组的线程数为5,那么在5个用户都到登录1的请求时会同时执行,可通过表格察看结果;如下图:

    写在最后

    PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

    ☑ 240集-零基础到精通全套视频课程
    ☑ [课件+源码]-完整配套的教程
    ☑ 18套-测试实战项目源码
    ☑ 37套-测试工具软件包
    ☑ 268道-真实面试题
    ☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

    这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

     

  • 相关阅读:
    数据集 | 目录一览表
    用delphi7将excel导入access并查询及其分析(一)
    怎样清理Mac存储空间 苹果电脑内存不够用怎么办 苹果电脑内存满了怎么清理
    老卫带你学---leetcode刷题(98. 验证二叉搜索树)
    go-redis简单使用
    边缘云服务提供商[网心科技],入选2022信通院“可信边缘计算推进计划”首批成员单位
    Leetcode 72. 编辑距离
    JavaScript-修炼之路第五层
    JavaScript 数据类型与运算符(上)
    Fluent中级工程进阶,从5种气体燃烧模型出发
  • 原文地址:https://blog.csdn.net/cs888zsy/article/details/133961957