03-性能测试之脚本录制

导读

本节主要包括以下内容:
1. JMeter工作区介绍
2. JMeter HTTP协议录制

1、JMeter工作区介绍

启动JMeter后,会打开如下窗口:
这里写图片描述

注:笔者在写本系列博客的时候,使用JMeter的最新版本4.0

(1)区域1是菜单栏和工具栏

  • 菜单栏
    JMeter工具的菜单栏包括File、Edit、Search、Options等菜单,和其它Windows工具的菜单栏类似,比如File里面也包括新建、打开、另存为等菜单项;具体的内容就需要大家自行查看了;

  • 工具栏

    • 新建测试计划
    • 从模板创建测试计划
    • 选择已经存在的测试计划并打开
    • 保存测试计划
    • 剪切选定的元件
    • 复制选定的元件
    • 粘贴元件
    • 展开目录树
    • 收起目录树
    • 切换元件的状态(禁用或启用)
    • 启动测试
    • 启动测试并且忽略断点
    • 停止测试(等待当前线程执行完)
    • 停止测试(立即停止,直接杀死进程)
    • 清除数据(单个)
    • 清除数据(所有),比如点击后,会清除查看结果树中的所有数据
    • 查找
    • 清除查找
    • 函数助手对话框,这些函数可以帮我们做参数化
    • 帮助文档
    • 测试运行时间
    • 显示测试中的错误数,点击可以打开日志,再次点击关闭
    • 当前运行进程数/总线程数

注:大家不用死记硬背,当鼠标悬浮在上面的时候会弹出提示。

(2)区域2是目录树
区域2是一个目录树,根节点是一个测试计划,我们可以在根节点下面增加多层元件;

(3)区域3是测试计划编辑区
如果目录树选择了测试计划,则右侧显示测试计划编辑区;如果目录树选择了线程组,则右侧显示线程组编辑区;

2、HTTP协议录制

由于最常见的协议就是HTTP协议,且其不太复杂,因此我们从这里开始:
(1)通过JMeter代理录制,由于操作较复杂,所以不推荐
(2)使用Badboy进行录制

  • 下载安装Badbody,官网地址:http://www.badboy.com.au/
  • 打开Badbody,注意启动Badbody后,默认处于录制状态,如下图所示
    这里写图片描述
  • 在地址栏输入要访问的URL,点击转到,这里我们以360搜索为例:https://www.so.com/
    如下图所示:
    这里写图片描述
  • 等待步骤执行完成(页面请求结束),请求箭头会由初始的红色变为蓝色,如下图所示:
    这里写图片描述
    这里写图片描述
  • 接下来,我们在搜索框中输入“风暴之灵”,并回车,等待请求完成,点击结束录制
    这里写图片描述
  • 点击回放按钮,会再次发送录制到的两个请求,可以看到请求回放成功
  • 点击“File”|“Export to JMeter”,将其保存为后缀为jmx的文件,该文件可以导入到JMeter中
  • 打开JMeter,导入上步中的jmx文件,如下图所示
    这里写图片描述
  • 添加一个查看结果树(View Results Tree),点击回放按钮,然后查看结果,如下图:
    这里写图片描述

上面就完成了一个最简单的流程,通过Badbody录制请求,然后导出JMeter支持的文件格式,再导入到JMeter中做进一步处理。

3、换搜狗重复上面的步骤

(1)让我们仿照步骤2中的动作,录制搜狗搜索的请求,录制结果如下图所示:
这里写图片描述

回放请求,虽然请求重新发送成功,但是搜索的内容并不是之前的“风暴之灵”,如下图所示:
这里写图片描述

有乱码,应该就是字符编码的问题,同样的Badbody工具,只是不同的网站就出现问题,无语。

乱码问题解决方案:将上面录制到的ie=utf8,改成ie=gbk,再重新回放就不会有问题了

我们将请求导入到JMeter中看看
这里写图片描述
变成了5个请求,添加查看结果树,然后回放脚本,中间3个回放失败,查看一下这5个请求,第一个对应打开搜狗,第5个对应搜索“风暴之灵”脚本,中间3个删除即可。

4、换百度重复上面的步骤

百度搜索的请求,结果如下图所示:
这里写图片描述

第一个问题:录制的搜索关键字请求并未变成蓝色
当我们回放的时候,搜索步骤的请求的确没有回放成功,原因不清楚,有知道的小伙伴可以回复我一下,谢谢!

第二个问题:
为什么搜索一个动作,录制到了多个请求?
如果你鼠标点击过百度搜索框可能还会录到一个https://www.baidu.com/his的请求,如下图所示
这里写图片描述

我们暂时撇开Badbody,通过浏览器分别访问下百度和360搜索,然后手动在二者搜索框输入文字看看,虽然都是搜索,但是百度会自动跳转到搜索结果页,而360会在你回车后才跳转到搜索结果列表页,这是表象,背后就是对应的请求,好明白这个原因后,我们再反过头看看Badbody,重新录制百度搜索请求,对应打开百度页,和搜索关键字两个步骤的请求实际只有两个,所以,为了方便我们后续调试脚本,直接将多余请求删掉即可。
这里写图片描述

(2)第三个问题:中文乱码问题
和搜狗遇到一样的问题,但是明明都有ie=utf-8,也就是说都使用的utf-8编码,不知道为什么会出现中文乱码

本节先到这里,后续我们拿个系统来学习JMeter工具

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值