• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

yxchun

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

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

posted on 2021-01-23 09:20  yxchun  阅读(316)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3