zoukankan      html  css  js  c++  java
  • Jmeter增强脚本 Jmeter运行原理、 添加断言、添加事务、参数化、负载测试、关联、自定义函数、用户自定义变量

    Jmeter简介

     JMeter™ 应用程序是开源软件,是一个100%纯Java应用程序,设计用于加载测试功能行为和测量性能。它最初设计用于测试Web应用程序,但后来扩展到其他测试功能。

    Jmeter 运行原理

     在JMeter中以线程的方式来运行。由于JMeter是运行在JVM虚拟机上的, 每个进程 的开销比LoadRunner的进程开销要大, 如果以进程的方式来运行的话, 每台负载机上的进程 数量就不会允许太多,当我们要大量并发时就需要大量的负载机,这显然是不经济的,再者 Java也是支持多线程的, 所以JMeter选择了以线程方式来运行。

    1、添加断言

    1)先根据“结果树”中的“HTML”中的“响应数据”,找到需要检查的网页中的文本

    2)复制上述内容,根据“结果树”中的“Text”中的“响应数据”,确定最终确定要 检查的文本(可能含有标签)

    3)在线程组下找到需要检查的 url,右击“添加”→断言→响应断言

     

     -->断言与页面的位置关系

    2、添加事务

    1)右击 step1→添加→逻辑控制器→事务控制器。

    2) 拖动事务位置,将 url 拖动到合适的事务中。

    3、参数化

    1)配置元件→CSV Data Set Config

     

    --》使用

    将原来参数的“值”改为“${参数名}”

     --》数据

    4、负载测试

    单击“Thread Group”,设置“线程数”为并发人数 ;一个线程对应一个模拟用户。

    Ramp-Up Period(in second)

    线程启动开始运行的时间间隔,单位是秒,即所有线程在多长时间内开始 运行。 如设置线程数为 200,数据为 75 秒,相当于 15s 加载 40 个用户。

    5.Debug Sampler

     

     6、BeanShell Sampler

     

     

    7、关联

    1)查看结果树,找到出错页面

    2)定位错误数据(需要每次获取服务器端数据,再次发送)

     3)在错误页面的上(或者上上.....)个页面查询userSession

    --》进入页面 4 ,复制出userSession的标签

    <input type=hidden name=userSession value=130523.922478736zHVDictpczcftAcicpQtffHf>

    定义左右边界

    左边界:<input type=hidden name=userSession value=

    右边界:>

    在页面4之上添加:正则表达式提取器

     位置如下:

     ---》填写正则表达式

    定义左右边界

     4)在需要userSession的页面,进行参数引入即可。

    自定义函数

    1)编写 Java 类编写Java类,导出

     2)Jmeter 导入包  测试计划→Add directory or jar to classpath 处:浏览,找到包

     3)BeanShell 引用函数

    import com.SplitStr;  //包名.类名
    
    vars.put("number",com.SplitStr.split("${banci}",";"));
    vars.put("新参数名","常量值或参数名");
    • 常量值或参数结果存入新参数中
    • 无法在 BeanShell 的请求和响应中看到新参数值
    • BeanShell 后面的 url 以及请求中可以使用该参数

    循环控制器

    1)右击 Step→添加→逻辑控制器→循环控制器

     循环最好放在事务之外。 CSV Data 要放在循环之中。

    2) 添加计数器,查看循环次数。

    计数器要放在循环内部


     用户自定义变量

    1)添加用户自定义变量元件

     2)添加变量,将服务器ip换成${serverIP}

     3)保存脚本,关闭jmter

    4)用记事本打开jmeter,搜索localhost替换为${serverIP}

    保存记事本,并关闭。再次打开jmeter,IP已被替换

  • 相关阅读:
    设置C#Web网页Session超时丢失时间
    docker19.03限制容器使用的cpu资源
    centos8平台搭建mysql8数据库主从同步
    centos8平台使用slabtop监控slab内存的状态
    centos8上使用lsblk查看块设备
    centos8环境判断当前操作系统是否虚拟机或容器
    centos8平台使用lscpu查看cpu信息
    centos8平台使用pidstat监控cpu/内存/io
    docker19.03使用数据卷
    testng对失败时截图处理
  • 原文地址:https://www.cnblogs.com/ychun/p/14316078.html
Copyright © 2011-2022 走看看