使用jmeter做简单的场景设计
Jmeter:
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试。我之所以选择它,最重要的一点就是----开源
个人的一点理解
当我们对一个网站进行任何一个行为的操作时,其实都是浏览器对服务器间进行http传输协议,主要是get和post两种请求,jmeter就是通过实现用户操作所发出的请求,来模拟我们的用户行为。当然,这仅仅是这个工具的冰山一角。
jmeter安装
jmeter不需要安装,但是本地环境必须有配置好的java环境,因为jmeter是基于java编写的(我也不知道没有jdk,只有jre时能不能运行,没有尝试过),如何配置java环境就不说了,下面说jmeter
jmeter运行
进入到jmeter到bin目录,目录下有几个文件:jmeter.sh 、 jmeter.bat 、 jmeter分别是linux、windows、macOS系统下的启动脚本
1、windows下,直接双击jmeter.bat,或者在命令行下运行jmeter.bat就可以启动jmeter
2、macOS下,在bin目录下执行
./jmeter
举一个简单的例子
举一个简单的登陆并获取资源列表的操作用例设计
线程组
1、线程数:一共多少个线程,也就是多少个虚拟用户
2、Ramp-up Period(in seconds):用户添加周期,也就是用多久将你的虚拟用户添加进去,值可以为“0”
3、循环次数,可以设置为固定的值,也可以设置为永远
Synchronizing timer(线程组-添加-定时器-Synchronizing timer)
1、Synchronizing timer:同步时间控制器,可以使一定数量的请求同步发出
2、Number of Simulated Users to Group by:设置同步发出的线程组数量,只有当线程组添加到这个值时才会发出
3、Timeout in milliseconds:超时时间,如果线程组数达不到“2”中设置的数值,就会一直不发,这里可以设置超时时间,超时会发出请求
HTTP Cookie管理器,用来管理登陆请求时获取的cookie信息(线程组-添加-配置原件-HTTP Cookie管理器)
事务控制器(线程组-添加-逻辑控制器-事务控制器)
1、事务控制器将多个请求集合到一个事务当中,作为一个或多个用户行为去处理,方便查看结果和分析数据
2、勾选Generate parent sample,会使该事务管理器下的sample他的子sample
响应断言(线程组-添加-断言-响应断言)
1、Apply to:可以控制相应断言的作用范围
HTTP头信息管理器(线程组-添加-配置原件-HTTP头信息管理器)
用来管理http请求的request headers信息
HTTP请求(线程组-添加-sampler-HTTP请求)
1、服务器名称IP、端口号、路径是请求地址信息
2、协议、方法、content encoding字面意思很明确了
3、parameters,请求的参数,也就是date
正则表达式提取器(线程组-添加-后置处理器-正则表达式提取器)
1、通过正则表达式提取器,可以将请求的返回信息,编辑后作为参数使用
2、引用名称将来就是引用参数时使用的名称,引用方法是:${引用名称}
3、正则表达式是匹配的范围,其中的括号范围就是你想用来当参数的部分,括号可以是多个
4、模版,$1$就是使用第一个括号中的值,以此类推
5、匹配数字,当匹配结果是多个时,匹配第几个值,0为随机