4.2 录制第一个jmeter性能测试脚本(http协议)

ゞ 浴缸里的玫瑰 2024-05-31 05:11 164阅读 0赞

上一节课,我们手工编写了一个测试计划,现在我们通过录制的方式来实现那个测试计划。也就是说‘’测试计划目标和上一节类似:让4个用户在5s内先后打开automationpractice官网,然后进入 DRESSES -> SUMMER DRESSES(http://automationpractice.com/index.php?id_category=8&controller=category)页面进行查看。

目录

一.性能测试脚本录制的原理

二、性能测试脚本录制的实操

1.创建测试计划

2.为线程组添加3个测试元件:缓存管理器、cookie管理器以及HTTP请求默认值

3.添加线程组

4.为测试计划添加HTTP测试脚本录制器

5.将浏览器的代理服务器指向HTTP测试脚本录制器

6.启动HTTP测试脚本录制器

7.浏览器上执行你要录制的操作

编辑9.取消浏览器的代理设置

10.为脚本增加监听器,以便收集测试结果

12 保存脚本后,运行脚本,

13.添加定时器,模拟用户停顿

14.将第一个请求都设置为 获取嵌入资源

15.执行脚本

16.取消对嵌入资源的请求选项

17 设置模拟用户数和启动时间

欢迎访问我的免费课程 PPT、安装包、视频应有尽有!

软件测试与质量保证 (xueyinonline.com)编辑https://www.xueyinonline.com/detail/219145327icon-default.png?t=N6B9https://www.xueyinonline.com/detail/219145327

一.性能测试脚本录制的原理

首先我们来了解下jmeter性能测试脚本录制的原理,然后再来实操。

当我们打开某个网站的页面时,请求会被浏览器发送到网站服务器,服务器进行响应。

如果,我们的请求发送到了jmeter的代理服务器,然后由代理服务器转发到网站服务器,那么代理服务器就会把我们发送的请求录制下来。

如果我们能录制下来用户的请求,我们就能模拟多个用户发送请求,从而达到性能测试的目的。

ce567a98c82841f3a6d4aac50d2f606c.png

二、性能测试脚本录制的实操

步骤前面几步与手工测试的几乎一样:

1.创建测试计划

创建测试计划并命名automationpractice网站。添加一个注释:第一个录制的JMeter脚本。

2c9eecf8241740eb9b9711717d3960b2.png

1)在线程组上点击右键菜单*Add-> Config Element-> HTTP Cache Manager*添加缓存管理器。缓存管理器在整个测试中将帮助管理用户缓存;
2)在线程组上点击右键菜单*Add-> Config Element-> HTTP Cookie* Manager添加cookie管理器,它会在测试执行期间管理cookie。(也就是说jmeter要像真实用户使用浏览器访问网站时,浏览器会缓存和cookie管理一样,帮我们管理缓存和cookie)。
3)在线程组上点击右键菜单*Add-> Config Element-> HTTP Request Default来设置http请求默认值,
设置 portolcalhttp
设置Server Name or Ip设置为: automationpractice.com

设置port80(空缺也可,空缺表示是缺省端口80)

6315aef949f74ec6872dff328e62338d.png

7d265ffe2e08499dae37fc560bed2dae.png

3.添加线程组

如下图所示,在测试计划上点击右键菜单 Add->Thread -> Thread Group 添加线程组

40276ac6cf9a452a834cf579777e909c.png

线程组名:summer dress查看,暂时设置模拟用户数为 1(带后期脚本调试完成后,再来设置用户数和启动时间),

5b5f59c3fc314e1ca1347656a95af5be.png

4.为测试计划添加HTTP测试脚本录制器

在测试计划上点击右键菜单 Add->Non Test Elements -> HTTP(S) Test Scripts Recorder

305dafa492744a55a9ad1595dfb8187f.png

如下图所示,可以设置录制脚本的目标控制器1f1edad753e8460a8b2fa0283e6b530b.png

如下图所示,可以设置要录制请求的排除模式,即哪些请求不会被录制601a513edaae46979f27860d3095ad29.png

为了录制时不录制其他网站的信息。也可以在 URL Patterns to Include 下添加 对url的过滤条件

例如。 采用 .***你要录制的域名*.\ 的方式( .*代表任意字符串)47f81a18d83746b39193d9e8e7278bd2.png

5.将浏览器的代理服务器指向HTTP测试脚本录制器

下面我来设置浏览器的代理服务器为127.0.0.1,端口号为8888(即指向了Jmeter代理服务器)。

下面以chrome浏览器为例说明,设置方法如下:

2399fdc022024ecaaaa62ec73cec7f8b.png

98e8dcafbe8d4aa5bd9e84e56d9eb651.png

23cf8ad83cd741809a5f71cd87f483cd.png

6.启动HTTP测试脚本录制器

点击HTTP测试脚本录制器的右侧面板上start按钮,启动录制;

73143748dd1a4fa8b3ce55dc7819cfea.png

7.浏览器上执行你要录制的操作

在浏览器中先打开automationpractice官网,然后再打开 DRESSES -> SUMMER DRESSES页面,这时可以看到脚本已经录制到线程组下了。

ed8b3e6793934f5b83ab76e1d4ab7883.png

8.录制结束后,在HTTP测试脚本录制器的右侧面板上点击stop按钮,停止录制;

9.取消浏览器的代理设置" class="reference-link">e95a52899bfc46e98730cb806748f66f.png 9.取消浏览器的代理设置

3b80f92b2cc0415da3b598748eee2980.png

10.为脚本增加监听器,以便收集测试结果

脚本已经录制好了,为测试计划添加一个查看结果树和聚合报告

6f2a368d069249e5b67fe6896bada7fa.png

ea0d795ba5bb496eb529ea14d7f15cef.png

12 保存脚本后,运行脚本,

运行一下脚本看看吧,奥,不错啊。结果正常。
0dc7f96583d44df2941d172d375a9775.png

13.添加定时器,模拟用户停顿

下面我们修改请求2,为其增加一个固定定时器,时间设置为3s;

定时器会在请求发送前停顿指定的时间,这样能很好的模拟用户操作的停顿。

当定时器放在一个控制器下是,会对控制器下的所有请求产生作用;

当定时器放在一个请求下时,仅对该请求生效,该请求发送前会停顿指定的时间,
dc5a7292481444678cf2e8ab470a470a.png

14.将第一个请求都设置为 获取嵌入资源

058672b643dc4c08b60a0259576e491f.png

15.执行脚本

可以看到结构树上,请求下嵌入资源也被请求了

ccaade611964469a83efb0cbab3d08e4.png

16.取消对嵌入资源的请求选项

取消 retrive all embeded resource 一般这个不勾选,通过刚才的设置让大家感受下它的作用

17 设置模拟用户数和启动时间

修改线程组的虚拟用户为4人,启动时间ramp-up为5s,进行性能测试
ok,至此,我们的测试计划就好了。是不是不大难,而且也挺有意思的,对吗?

df676fb9449d4892b14abfcf26a861bc.png

欢迎关注我的网易云课程
https://study.163.com/courses-search?keyword=%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95123\#/?ot=5

发表评论

表情:
评论列表 (有 0 条评论,164人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Jmeter录制脚本

            Jmeter中有两种方法可以录制脚本。不过我个人非常不推荐录制脚本,录制的脚本混乱,需要再次加工才能使用。         如果了解HTTP协议的人,可以直接