(3)jmeter的参数化

版权声明:成都软件测试交流群,339614248,欢迎你的加入 https://blog.csdn.net/louishu_hu/article/details/82263350

今天来讲下jmeter的参数化

首先老规矩,讲下参数化运用的场景

1 要测试的接口,比如登陆,单点登陆,这个就跟网关, token之类有关系了。搞开发的朋友应该知道网关的作用,这个时候你就需要不同的用户名去登陆,这个时候你就需要参数化的方式来让你的一个变量在每次迭代,或者每个线程拥有独立的参数,或者说独立的token

2 生成数据,比如jdbc,通过jmeter来给数据库写入数据,你可以先通过脚本语言来完成,当然你也可以通过excel的自增生成数据的方式来完成。或者就是用jmeter,loadrunner这类工具来创建数据了。

3 这个可能就牵涉到tcp协议层的东西了,你需要去模拟不同的硬件,让他们上线以及接收指令,这个就需要通过jmeter的参数化来保证每个虚拟设备都是唯一的。扯远一点,这里就还有一块就是需要该形参去生成唯一的校验码。里面还设计到时间戳的概念,这里就不深入讲解了。以后有同学搞物联网相关的东西的话,再好好研究这一块的东西吧

基本核心内容就是,保证同一个形参,在每个线程,或者每个线程的每个循环都取不同的实参。

好了,参数化之前先来录制一个脚本吧,就录制一个百度搜索吧

先来过滤不需要的东西,直接上图不废话了

这一步的作用就是为了过滤各种静态文件,别听网上的说什么.*\.gif啥的,那是扯淡,你要排除的是完整url,不是这半截子。。。

这一步的作用是因为我们只关注我们的请求

录制的今日头条的搜索,记住,${xxx} ,这是固有模式,就跟robotframe一样,表示里面的是形参

ok,现在我们给参数赋值

好了,这种变量,就只有一个值,你可以看做一个常量,拿来干嘛?

ip,port,权限账号,密码啥的,反正都是死的,何必去搞个文本记录呢,就写在jmeter里面写死,当一个常量用

第二种 这种就有点像loadrunner的参数化了

不多说,一样上图

就这4个数据了,我们来试试,先把线程组取值方式这里设置好

OK。四个线程,一个取值一个,没毛病,我们跑看看

 

没毛病,我们加入断言来看看

那个请求的响应有这文本,就记得加到那个http请求下,不要乱加

这个是我改了里面的值的,直接截图,看对比

OK,前面四个正常的没毛病,后面4个我断言有问题,他也就跟着报错了。

下面我们试试一个线程,循环4次

这里就不上图了,四个值被一个线程循环使用了,记住

那我们设想怎么让他只取第一个值呢 对应loadrunner的once取值

懒人做法,哈哈

那想取第二个怎么办,尴尬了,我想想

就这样,我们来看看结果

没毛病,循环一个道理,不过算法就有点不同了,聪明的你肯定已经明白这个道理了,这里就不讲明了

现在我们要3个线程,每个线程取固定的一个呢,下一章再讲解如何保证

猜你喜欢

转载自blog.csdn.net/louishu_hu/article/details/82263350