jmeter的脚本增强之参数化
jmeter作为一款开源的测试工具,功能广泛,深受测试同胞们的喜爱,这次来讲讲关于如何参数化及其方式。那为什么要进行一个参数化呢,如做压测时,要有大量的数据来模拟用户的真实场景,像登录页面操作,系统是不允许相同的用户同时登录,那这就需要对用户名进行一个参数化;或者是订票系统,每个用户在订票时时间都是不一样的,那为了达到真实的场景,就需要对时间进行一个参数化。参数化对于大量的重复的批量的数据保存一个变量,从而每次执行时,只需读取这个变量即可
jmeter有三大种参数化方式①读取文本,②程序生成,③从数据库里读取
一读取文本:
读取文本呢又有三种方法,这简直了。在桌面上新建一个文本文档,里面输入要参数化的数据 (前提是都有在数据库里),这些是用户名跟密码,那为了工作方便,密码我都是设一样的
第一种方法:打开jmeter,点击选项—函数助手对话框,这列表开头是按abc顺序排列的,选择—CSVRead
然后将你新建的文本目录地址复制到名称对应的值里
把拷贝下来的字符串放在你要变量的位置上,那我这边是对用户名进行的参数化
我在线程组里添加四个线程,运行一下看下察看结果树
参数化成功
第二种方法:在测试计划右键添加—配置文件—csv数据文件设置
在CSV数据文件页面设置一下:
第三种方法:在测试计划右键添加—配置文件—bzm-Random CSV Data Set Config
我用的jmeter是4.0版本,可能有一些同学没有这个,或者是这个插件,打开jmeter目录,在这目录下F:\testing\tour\apache-jmeter-4.0\lib\ext加一个jar包文件 jmeter-plugins-manager-0.20.jar ,这个插件如果有同学需要可以网上下载也可以找我拿,然后重启jmeter,这个图标就出现了,然后点击这个图标搜索安装Random Csv Data Set ,安装好后再重启一下jmeter
这个参数化方式是官方新推出的功能,好使,能够随机提取
二程序生成:
程序生成也是有很多种,这边来列几个常用的。点击选项—函数助手对话框
1、__machineIP:读取你当前的电脑IP地址
2、__machineName:读取你的机器名字
3、__Random:随机生成一个数字,如设最小值1,最大值100,会随机生成1~100间的数字,可用于年龄,手机号,不适用于注册
4、__RandomDate:随机生成日期,日期:yyyy-MM-dd,key可用于订票,下订单,出生年月日等等
5、__RandomString:随机生成字符串,如英文名,性别等
6、__time:生成实时时间,yyyy-MM-dd HH:mm:ss(固定格式)
这边来搞一搞如何来批量注册用户名,我们可以录制注册操作的脚本或是使用fiddle抓包工具来获取,那在注册那边参数改一下
关于关联下篇会继续更新
在线程组右键添加-配置文件—计时器
在计时器页面设置一下
由这个方法可以很容易的快速制造大量数据
三数据库读取:
首先连接数据库,关于连接数据库上篇就有详细唠嗑过,先在测试计划页面里添加一个驱动
在测试计划右键添加如下:
然后在JDBC Connection 页面设置
然后继续在线程组右键添加—sampler—JDBC Requst,在这页面上呢写一个SQL语句,查询表里的所有用户名
查询出来表里的所有用户名,把这些放入到name里
线程组右键添加—逻辑控制—ForEach控制器,把每个用户迭代出来
应用场景,如果说你要看每个用户的个人信息,它的URL后都是username=tname(name表里的每一个用户)
那么直接在URL后加入参数化
线程组就只有一个线程,你点击运行后会一直运行,运行多少回呢,直到把name里的所有用户都运行完就会结束
这三大种参数化方式就又唠嗑完了。。。。。
下篇唠唠关联等等
jmeter的脚本增强之参数化的更多相关文章
- JMeter脚本增强之参数化
JMeter测试脚本录制或者编写,在Web应用和App上的操作方式可能有一点点区别(其实也差不多,哈哈),但是当脚本录制好了之后,对测试脚本的强化,包括参数化.关联.文本检查.集合点设置,甚至再往后的 ...
- jmeter调试脚本之变量参数化
前言 对于参数化,觉得用得最多的应该是csvread函数.csv data config以及用户自定义变量(前一篇文章已经进行了讲解)控制器这几个 案例:bugfree ,提交bug,参数bug名称和 ...
- LR性能测试脚本增强与调试
脚本增强与调试 一般来说,使用LR的Vugen录制的脚本并不能直接用于测试,需要对脚本进行各方面的增强,主要包括添加注释.关联.检查点.事务.参数化.日志输出等.下面结合刚完成的一个web项目性能测试 ...
- Loadrunner VuGen实战---基本组成、录制流程、协议、脚本优化、参数化(三)
一.3大基本组件:VuGen.Controller.Analysis 1.VuGen:录制.编写脚本. 2.Controller:性能测试场景设计以及监控的地方. 3.Analysis:生成图表报告的 ...
- 性能测试十二:jmeter进阶之java请求参数化
如项目中的ip.端口号之类的,都可以在此代码中定义 public Arguments getDefaultParameters() { // TODO Auto-generated method st ...
- 【JMeter】【性能测试】参数化,内存溢出问题
这一篇文章随便说一下JMETER的脚本参数化 1:Parameters的两种参数化方法 1.1:函数助手参数化 首先准备你的参数数据.我在bin/data中新建了一个dat文件,记事本另存为修改编码为 ...
- Jmeter常用脚本开发之Debug Sampler
Debug Sampler编辑脚本时调试用的,跟Java项目打断点测试同理,它可以Debug Jmeter中所有自定义变量的值 如何添加Debug Sampler? 打开测试计划—>线程组—&g ...
- Jmeter 录制脚本
Jmeter中有2种方法可以录制脚本. 不过我个人非常不推荐录制脚本,录制的脚本混乱,需要再次加工才能使用. 像我这么精通HTTP协议的人. 一直都是使用Fiddler来抓包,然后自己写脚本. 无论 ...
- LoadRunner如何在注册业务脚本中设置参数化唯一性
LR在录制一个网站注册业务的脚本时,突然间遇到一个问题:注册时,由于注册用户需要验证唯一性,所以在LR回放脚本时,用Run-time Viewer工具回放可以发现(先在脚本中设置几个断点),真实运行的 ...
随机推荐
- Word中高效输入公式:内嵌公式和Mathtype
Word中高效输入公式:内嵌公式和Mathtype 前言:对于理工科学生而言,公式输入必不可缺.LaTeX相比Word,在公式输入及排版方面更强大.但是对于轻量级的任务,用Word而言更加轻便(起码不 ...
- JZ2440学习笔记之IIS音频芯片WM8976
音频芯片的接线图:IIS接到MPU的IIS controller上:看L3总线的接法,应该是使用GPIO来模拟时序. IIS总线用来传输音频数据. L3总线用来配置WM8976的内部寄存器. L3总线 ...
- git提交项目
https://www.cnblogs.com/java-maowei/p/5950930.html
- 如果js设置移动端有两种方式 大家可以参考
//使用em单位 var scaleObj = { documentEle : document.documentElement, deviceWidth : document.documentEle ...
- 【题解】洛谷P1052 [NOIP2005TG] 过河(DP+离散化)
题目来源:洛谷P1052 思路 一开始觉得是贪心 但是仔细一想不对 是DP 再仔细一看数据不对 有点大 如果直接存下的话 显然会炸 那么就需要考虑离散化 因为一步最大跳10格 那么我们考虑从1到10都 ...
- 类似"音速启动"的原创工具简码"万能助手"在线用户数终于突破100了!
原本只是开发出来方便自己的一个小工具,看到群友也喜欢,就随手分享了, 经过1个多月的自然积累,在线用户数终于突破100了,这增长速度实在让人泪奔~ 博客园的朋友如果看到,喜欢的话就拿去用吧, 万能助手 ...
- webpack-dev-server 多入口自动刷新,支持对象
万物的来源~webpack 本身 watch webpack watch 传送门 webpack 可以监听文件变化,当它们修改后会重新编译 watch boolean 启用 Watch 模式.这意味着 ...
- js中回调函数写法
第一种方式 function studyEnglish(who){ document.write(who+"学习英语</br>"); } function study( ...
- 支付宝支付示例-python
项目演示: 1.输入金额 2.扫码支付: 3.支付完成: 具体操作步骤: 第一步:注册账号 https://openhome.alipay.com/platform/appDaily. ...
- layui sleect获取value值
<div class="layui-form-item"> <label for="username" class="layui-f ...