超级干货:Jmeter 图解说明【乐搏TestPRO】
Jmeter 是Apache 组织开发的基于JAVA 的压力测试工具,用于对软件做压力测试,特别适合于WEB 应用测试(包括压力,接口测试)
Jmeter 的安装这边就跳过,直接讲述如何使用JMETER
在安装目录下有一个Bit\Jmeter.bat 双击打开
打开之后是一个这样的界面
在这可以增加线程组
线程增加之后可以在线程组新建请求,断言啊,正则表达式提取参数之类的
这里以苏宁易购网站的登录请求为例来说明
要想用Jmeter 发送请求,必须先在浏览器中截取相关参数,现在以谷哥浏览器为例介绍如何截取参数
在浏览器输入苏宁官网之后点登录按键,会进入输用户名和密码的界面,在这里我们按下F12 调出控制台
注意选中Preserve log
如下图所示
当我们输入用户名和密码之后点击登录之后最下方就会记录相关请求
如下图所示,这里看到一个login 请求
单击login 请求
请求报文头信息,这里的信息头有时也是需要填的
有时前台有验证码,无法用接口方式进行登录,我的做法是在每一个请求中将所有报文头放进去,包括Cookies
这个就是我们平时说的参数,是每个请求中最重要的组成部分
可以看到我们虽然只做了一个登录请求,但实际系统传输了这么多参数,由于其它几个参数我不懂是什么意思,后续讲到参数化时就以用户名和密码进行
在捕捉到了这个请求之后我们就可以在线程组下新建HTTP 请求了
在线程组-添加-SamplerHttp请求
按如图所示填写
为了保存我们的成果,这里先存一下
为了让等会可以看到执行结果,我们在这先添加一个察看结果树的元素
执行启动按键
执行之后我们看到察看结果树中有对应响应信息
从响应信息中可以看到执行成功了,因为返回了一个success
在这相信大家都想到一个问題,断言
测试执行了那就肯定要判断预期结果与实际结果是否相等
现在我们来进行这一个操作
右击HTTP请求添加-断言–响应断言
这里有好多种断方方式
因为在一串字符串每个用户都可能存在的只有一个Sueeces
也就是说Sueeces 只是包含在响应文本中,所以这里我们选择包括模式匹配
响应断言还只是让系统进行检查下,那我们还需要系统给一个信息,就是检查之后给我们返回一个响应信息,是成功还是失败
这里我们再加一个元素
HTTP请求-监视器断言结果
设置完之后结构大致是这样,如果不同你可以手动拖动元素到对应结构中
现在我们再次运行请求
切换到断言结果,看到方框中就是一个HTTP 请求,其它什么信息都没有,那这是什么意思呢
我们再切换到察看结果树中,检索响应代码出现对应的验证字符串Success,代表上面那样显示是成功的意思
那如果请求失败会是什么样子的呢
现在我将HTTP请求中的用户名修改下正常情况下肯定会失败对吧,再次运行
我们可以看到响应代码中多了一行字符串Test Fail
从上述我们可以看到如果只显示请求名称代表断言成功,如果有一行字符串TEST Fail
代表对应请求断言失败
有时单独发送请求一直会失败,那这个时候可以尝试在请求中增加HTTP信息头管理器
信息头管理器就是将最初在浏览器捕捉到的报文头信息全加到这
添加之后类似于这样
因为前面我们运行过已生成了一些记录,这里我们点一下最上方的扫把清除一下记录
清除之后察看结果树中就没有任何记录
修改请求中用户名为正确的用户名后再次运行
现在我们来参数化用户名和密码数据
在参数化之前我们先在C盘创建一个TXT 文件用于存放用户名和密码
HTTP请求-添加- 配置元件–CSV Data Set Config
按如图所示填写
输入参数化文件名称,用户名和密码,分割符
因为我们参数化是要放入到请求中,所以这里我们先移动参数化元素到请求之前
用${变量名称} 格式修改请求信息
运行之后查看结果树中的请求
已将参数化中的值替换过来了
大家可能注意到了参数化中明显有两行数据,但在这只被执行了一行正确的数据,错误的那一行数据没有被执行
出现这种原因是因为线程组默认是1次请求,所以即你设置成循环,系统也只能执行一次,现在我们将线程线次数设置为5次
再次运行
这一次一共运行了5次,失败的参数也取出来了
看到这里,如果你有一颗想要顺利进阶,升职加薪的❤️不妨参与我们的软件测试一周集训吧!可以后台私信我,也可以进入qun :⑥③⑥⑧⑤⑨⑨⑥④,获取更多咨询哦~