• Jmeter自动化脚本框架


    Jemter作为一款性能&接口测试工具,其带界面的操作给测试快速上手带来了一定便利,但由于其相比写代码不支持类似函数封装功能,因此需要利用Jmeter的特性约定一套框架支持可重用和模块化自动化脚本的编写。我们可以利用Jmeter中的Test Fragment封装用例小模块,按接口划分线程组,线程组下添加事务控制器作为测试用例,在事务控制器下利用模块控制器进行测试单元的组装。

    • Test Fragment 测试片段 JMeter test_fragments,是控制器上一个种特殊的线程组,它在测试树上与线程组处于一个层级。但使用时需要和include Controller或者Module Controller配合。它的主要作用是模块化测试过程,类似于编程语言中的函数。即,将测试过程封装成测试片段,就可以在其他地方直接引用了。
    • Module Controller 模块控制器 JMeter Module_Controller
    • Parameterized Controller 参数化控制器JMeter ParameterizedController
    • Include Controller 包括控制器JMeter Include_Controller
    • Transaction_Controller事务控制器 Transaction_Controller,事务响应时间是我们衡量业务性能的主要指标,事务控制器可以把其他节点下的取样器执行消耗时间累加在一起,便于统计。同时对每一个取样器的执行时间进行统计。
    • Simple_Controller简单控制器 Simple_Controller

    JMeter有4种常用参数化方法

    1.User Parameters(用户参数)
    操作路径:左边测试计划树中选择一元素,鼠标右键Add-->Pre Processors-->User Parameters
    2.CSV Data Set Config(CSV数据配置)
    操作路径:左边测试计划树中选择一元素,鼠标右键Add-->Config Element-->CSV Data Set Config
    3.User Defined Variables(用户自定义变量)
    操作路径:左边测试计划树中选择一元素,鼠标右键Add-->Config Element-->User Defined Variables
    4.Function Helper中的函数
    操作路径:菜单Tools-->Function Helper Dialog

    JMeter参数化方式之使用场景对比

    image

    此外还有两种参数化方法:从数据库读取,用正则表达式从前面请求的响应数据中提取。


    image

    image

    具体脚本结构如下图所示:

    image

    框架详解

    测试计划:项目名称/测试用例模块,如:电商项目一个测试计划、用户管理一个测试计划、订单管理一个测试计划;
    字段参数化:字面意思,便于该用例模块的参数调用;
    Test Fragment:测试用例小模块,如:用户管理一个测试片段、订单管理一个测试片段;
    Simple Controller:测试用例组件,将接口请求和对应的断言封装起来作为测试用例组件,便于测试用例组装。
    线程组:以接口为单位划分的RunAll组件,如创建订单的接口用例。
    线程组下的Transaction Controller:测试用例,由单个或多个Module Controller组装而成;
    Module Controller:用例模块的调用;
    结果监控,报告生成:Jmeter中添加一个查看树去看测试报告,Jenkins中用插件HTML Publisher plugin生成。

    Jmeter Chrome浏览器录制插件:BlazeMeterMeterSphere

  • 相关阅读:
    [转]如何才能在 IIS 7.5 使用 Windows PowerShell SnapIn 功能
    VS2010 生成序列图实例
    Jquery Ajax调用asmx出错问题
    [转载]通过HttpWebRequest在后台对WebService进行调用
    手机网站自适应
    sqlserver内存释放
    程序集强命名的作用
    MVP,MVVM,MVC
    浮点类型的特殊性知多少
    Directly querying the BizTalk database for suspended messages
  • 原文地址:https://www.cnblogs.com/fanfeng/p/14113677.html
Copyright © 2020-2023  润新知