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已被替换

  • 相关阅读:
    14.18 InnoDB Backup and Recovery 备份和恢复:
    14.18 InnoDB Backup and Recovery 备份和恢复:
    php使用 _before_index() 来实现访问页面前,判断登录
    php使用 _before_index() 来实现访问页面前,判断登录
    查询方式实例演示
    查询方式实例演示
    haproxy timeout server 46000 后台超时时间
    haproxy timeout server 46000 后台超时时间
    14.10.5 Reclaiming Disk Space with TRUNCATE TABLE 回收空间使用TRUNCATE TABLE
    14.10.5 Reclaiming Disk Space with TRUNCATE TABLE 回收空间使用TRUNCATE TABLE
  • 原文地址:https://www.cnblogs.com/ychun/p/14316078.html
Copyright © 2011-2022 走看看