对于一些JMeter初学者来说,录制脚本可能是最容易掌握的技能之一。虽然我不建议录制性能脚本(因为录制的脚本比较混乱,必须要通过二次处理才可正常使用),但有时做总比不做要好,是吧?下面我们详细介绍使用JMeter录制脚本的方法(也可以参考上篇《使用Fiddler录制Jmeter性能测试脚本》)。
运行环境为Windows 10,JMeter版本为3.3。
我们还是以访问百度首页,并完成一次搜索为例。

1. 配置JMeter

JMeter录制脚本原理是配置一个HTTP代理,然后浏览器通过这个代理访问测试页面从而完成脚本录制。

1.1 打开JMeter,并新增一个线程组(选中“测试计划”,右键选择“添加” -> “Threads (Users)” -> “线程组”)

1.2 添加“HTTP代理服务器”

选中“工作台”,右键选择“添加” -> "非测试元件" -> "HTTP代理服务器"

1.3 配置HTTP代理服务器

1) 打开新增的HTTP代理服务器,修改目标控制器为”测试计划 > 线程组“
2) 修改分组为“每个组放入一个新的控制器”
3) 还根据需要可以修改代理端口号(默认8888)等配置
4) 选择“Requests Filtering”,在“包含模式”中填入“.+(baidu\.com).+”用以过滤非baidu.com的请求
5) 同时在“排除模式”中填入“(?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|woff|woff2|htm|html).”用以过滤js、图片、html等资源文件请求
6) 最后点击“启动”按钮启动HTTP代理

2. 录制脚本

2.1 配置代理

打开IE浏览器,点击右上方工具按钮,依次选择“Internet选项” -> “连接” -> “局域网设置” -> “代理服务器”,勾选“为LAN使用代理服务器”,输入本地IP地址127.0.0.1及端口号8888,点击确定保存。

2.2 访问页面

使用IE浏览器打开百度首页https://www.baidu.com/,并进行一次搜索(如搜索lovesoo);若页面提示“此网站的安全证书存在问题”,点击“继续浏览此网站(不推荐) ”即可。

3. 脚本处理

现在我们打开JMeter查看我们刚才录制的脚本,可以看到JMeter录制了整个流程的请求,包括开始的搜索建议,访问首页请求,获取搜索历史及搜索等请求:
此时,我们需要对这些HTTP请求做一些删除操作,只保留访问首页及搜索的请求:
然后,我们添加“查看结果树”及“聚合报告”,点击运行即可查询相应的搜索结果:
最后,我们还可以对接口进行响应的参数化及断言,用以校验HTTP请求返回值是否正确:

4. 脚本下载

本次示例脚本上传到了百度网盘,以供大家参考,下载链接: https://pan.baidu.com/s/1c2i0Ola 密码: wy4y

JMeter基础教程3:脚本录制篇的更多相关文章

  1. 『动善时』JMeter基础 — 45、脚本录制工具Badboy介绍

    目录 1.Badboy软件介绍 2.Badboy下载 3.Badboy安装 4.Badboy界面介绍 (1)菜单栏: (2)工具栏: (3)左下角界面视图: 1.Badboy软件介绍 Badboy是一 ...

  2. JMeter http(s)测试脚本录制器的使用

    JMeter http(s)测试脚本录制器的使用 by:授客 QQ:1033553122 http(s) Test Script Recorder允许Jmeter在你使用普通浏览器浏览web应用时,拦 ...

  3. RabbitMQ基础教程之基本使用篇

    RabbitMQ基础教程之基本使用篇 最近因为工作原因使用到RabbitMQ,之前也接触过其他的mq消息中间件,从实际使用感觉来看,却不太一样,正好趁着周末,可以好好看一下RabbitMQ的相关知识点 ...

  4. RabbitMQ基础教程之使用进阶篇

    RabbitMQ基础教程之使用进阶篇 相关博文,推荐查看: RabbitMq基础教程之安装与测试 RabbitMq基础教程之基本概念 RabbitMQ基础教程之基本使用篇 I. 背景 前一篇基本使用篇 ...

  5. 性能测试工具JMeter 基础(四)—— 录制脚本

    对于JMeter中HTTP请求除了手动添加以为还可以进行脚本录制,有两个方法: 使用badboy录制,录制完成后,将录制的文件导入JMeter中 使用JMeter自带的录制原件进行录制(HTTP(S) ...

  6. MySQL基础教程——mysql脚本编写

    SQL,结构化查询语言,既是对数据库进行操作的语言,也是数据库脚本文件的扩展名. 要求:新建一个名为 library 的数据库,包含 book.reader 两张表,根据自己的理解安排表的内容并插入数 ...

  7. Python 基础教程 —— 网络爬虫入门篇

    前言 Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言,它由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年.自面世以后,Pytho ...

  8. JMeter基础教程1:若隐若现的参数化

    1. 什么是参数化? 在开始学习JMeter参数化之前,我们先了解下什么是参数化: 参数化是自动化测试脚本的一种常用技巧.简单来说,参数化的一般用法就是将脚本中的某些输入使用参数来代替,在脚本运行时指 ...

  9. Jmeter基础教程图文版(二)- 核心组件

    ⚪Jmeter Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具.用于对软件做压力测试,它最初被设计用于 Web 应用测试,但后来扩展到其他测试领域. 它可以用于 ...

随机推荐

  1. 使用java实现面向对象-File I/O

    java.io.File类用于表示文件(目录) File类只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问 RandomAccessFile java提供的对文件内容的访问,既可以 ...

  2. [原创]KVM虚拟化管理平台的实现

    KVM虚拟化管理平台的实现 源码链接:https://github.com/wsjhk/IaaS_admin.git 根据KVM虚拟化管理的要求,设计并实现网页操作管理KVM虚拟机.设计原理架构如下图 ...

  3. Entity Framework Code First实现乐观并发

    Entity Framework Code First实现乐观并发 不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻喷,如觉得我翻译有问题请挪步原博客地址 本博文翻译自: h ...

  4. Python实战之IO多路复用select实例

    Select方法: 句柄列表11, 句柄列表22, 句柄列表33 = select.select(句柄序列1, 句柄序列2, 句柄序列3, 超时时间)   参数: 可接受四个参数(前三个必须) 返回值 ...

  5. zoj3211dream city dp 斜率

    Dream City Time Limit: 1 Second      Memory Limit:32768 KB JAVAMAN is visiting Dream City and he see ...

  6. XML编程

     XML编程 XML及其语法 XML约束之DTD XML编程(CRUD---Create Read Update Delete) XML约束之Schema XML语法: XML文档的组成: 一个X ...

  7. 关于Android SDK Manager无法获取更新列表的正确设置

    1.以"管理员身份运行"SDK Manager. 2.Android SDK Manager"=>"Tools"=>"Optio ...

  8. Mysql安装后打开MySQL Command Line Client闪退解决方法

    1.开始菜单下;Mysql--->mysql server 5.6-->mysql command line Client ---右击,选择属性 2.在属性下查看目标位置: 3.将安装目录 ...

  9. SQLite中的时间日期函数

    SQLite包含了如下时间/日期函数: datetime().......................产生日期和时间 date()...........................产生日期 t ...

  10. win2003服务器定时自动重启命令

    1. win2003可以这样自动重启: 新建一个命令行文件比如reboot.bat 内容如下:shutdown -r -t 30 在计划任务中新建一个任务,程序选择上面这个reboot.cmd文件,时 ...