录制脚本只不过是我们日常工作中的一个小应用而已(对!就是玩儿!),只是为了能快速看到应用程序跑的逻辑及实现顺序。并够帮助测试人员,快速查出问题出现的节点。

  而对于做有针对性的测试时,比如做某个接口的测试,建议大家还是自己去创建及组织脚本,不过录制的脚本可以拿来做参考,粘贴复制也是可以节省不少的工作量。

  在JMeter中可以使用自身就带的HTTP代理服务器组件录制脚本,可以录制在WEB上的操作,也可以录制在手机App上的操作。

  ·录制在WEB上的操作时,需要设置浏览器的代理服务器。

  · 录制在手机App上的操作时,需要设置手机上的代理服务器。

  下面就详细的介绍,使用HTTP代理服务器组件录制WEB脚本。

  我们以一个电商项目为例,录制如下步骤:

  ·登陆网站。

  · 查看商品。

  · 把商品加入购物车。

  · 查看购物车。

  1、测试计划内包含的元件

  添加元件操作步骤:

  创建测试计划。

  创建线程组:选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组。

  在线程组中,添加配置原件“HTTP Cookie管理器”组件:选中“线程组”右键 —> 添加 —> 配置元件 —> HTTP Cookie管理器。

  说明:如果录制的操作包括用户登录操作,则需要添加“HTTP Cookie管理器”,添加之后不需要任何配置,录制后,脚本中便保存用户登录的相关信息。

  在测试计划下,添加非测试元件“HTTP代理服务器”组件:选中“测试计划”右键 —> 添加 —> 非测试元件 —> HTTP代理服务器。

  在HTTP代理服务器组件下,添加监听器“察看结果树”组件:选中“HTTP代理服务器”右键 —> 添加 —> 监听器 —> 察看结果树。

  最终测试计划中的元件如下:

点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。

  2、HTTP代理服务器的设置内容

  在HTTP代理服务器组件中,我们需要编辑:

  端口:默认8888,一般使用默认即可。主要不能与本地其他服务的端口号冲突,否则启动不了。

  HTTPS Domains:我的理解就是,设置代理服务器的主机IP地址或者域名。因为在我们本地使用,一般就是localhost或者127.0.0.1即可,当然不填写也是可以的。(此填写的地址一定要能够连接外网)

  设置目标控制器:也就是录制的组件存储到什么位置。这个一定要选,下图中选择了存储到目标线程组中。

  配置完的界面内容,如下图所示:

3、设置浏览器的代理服务器

  每个浏览器都可以设置服务器的代理,以Firefox浏览器为例。

  点击右上角的设置 —> 选项 —> 常规 —> 最下面的网络设置,点击设置,就可以进入到代理服务器的设置页面了。

  选要选中手动配置代理服务器,然后输入代理服务器的地址或者域名,还有端口号。

  这里的配置,要和上面JMeter的HTTP代理服务器中的端口和HTTPS Domains的配置要对应上。

  这样的话,浏览器中的操作,会先发送到JMeter中的HTTP代理服务器,在通过网络进行传输。这样JMeter中就可以录制下我们的操作,生成脚本了。

  如下图所示:

提示:一定要勾选,“也将此代理用于FTP和HTTPS”选项。

  4、录制脚本

  以上内容设置完毕后,在浏览器地址栏中输入要录制脚本的地址。

  然后在JMeter中的HTTP代理服务器界面,点击启动按钮。

  提示:在HTTP代理服务器界面点击“启动”时,Meter将生成自己的证书。证书生成可能需要一些时间,在此期间,GUI将无响应。证书生成完成后,GUI将显示一个弹出对话框,其中包含根CA证书的详细信息,证书有效期为7天。该证书需要由浏览器安装,以便接受JMeter生成的主机证书。

  如下图所示:

于配置证书,这里就不展开说明了。

  之后开始在网站上进行操作,所有操作发出的请求,都会录制到JMeter脚本中。

操作完成之后,到JMeter的HTTP代理服务器中点击“停止”,然后将浏览器的代理设置恢复原样即可。

  不恢复的话,会导致你无法使用浏览器访问外网。

  如下图所示:

 5、查看录制的脚本

  在JMeter中我们可以看到已经记录了许多请求对应的信息,包括PHP、js、.jpg、.png、.txt等请求。

  如下图所示:

我们可以看到,我们只进行了简单的几步操作,却录制这么的请求。是因为JMeter录制很多非关键性的请求,这就需要我们进行一些优化。

  录制脚本的优化有两个步骤:

  在录制的时候,做一些过滤和排除操作。

  在录制后的脚本中手动优化,删除不需要的组件,增加自己需要的组件。

  1)服务器名称或IP与目标网站不同的、无关的,可以删除。

  2)js/css/png/jpeg等这类请求删掉。

  3)没有传递任何数据的请求可以屏蔽掉,等流程能回放成功了,这些再删除。如果回放不成功,再一个一个打开,进行检查。

  6、HTTP代理服务器的排除模式

  在测试脚本中有一些录制的信息是没有任何作用的,所以我们在录制脚本的时候,就可以通过HTTP代理服务器的排除模式,排除一些不需要的请求信息,如css、gif、png等请求。

  例如:

  在包含模式添加填上 .*\.jsp,只在请求JSP文件时录制脚本。

  这里通常都是设置JSP或者HTML,可以根据具体情况进行填写。

  在排除模式处填上.*\.js ,在请求js文件时不录制脚本。

  这里通常都是设置js、jpg、png、gif、css等,这些类型文件请求都是不需要录制的。

  当然我们也可以点击添加建议排除按钮,会自动生成一个过滤的正则表达式。

  如下图所示:

 添加上这些时候,录制出来的脚本,多余的累赘会减少很多。

  7、保存脚本

  脚本录制完成后,需要进行脚本的保存。

  把脚本保存到本地,可以分享给其他成员,进行查看、编辑、回放等操作。

如何使用JMeter自身代理录制测试脚本相关推荐

  1. 性能测试篇 :Jmeter HTTP代理服务器录制压力脚本

    从loadrunner到jmeter,录制压力测试脚本好像都只支持IE,近来才知道jmeter还有自带的录制脚本元件, 且支持IE.Chrome及Firefox等多种浏览器.这里就记录一下通过jmet ...

  2. 使用jmeter HTTP代理服务器录制APP脚本

    使用jmeter HTTP代理服务器录制APP脚本 步骤一.jemter设置 1.启动JMeter,双击运行jmeter.bat,启动jmeter jmeter运行主界面 2.添加线程组:右键测试计划 ...

  3. 如何使用JMeter自身代理录制APP测试脚本

    录制脚本只不过是我们日常工作中的一个小应用而已,只是为了能快速看到应用程序跑的逻辑及实现顺序.并够帮助测试人员,快速查出问题出现的节点. 而对于做有针对性的测试时,比如做某个接口的测试,建议大家还是自 ...

  4. Jmeter录制脚本(二)-----使用代理录制web脚本

    Jmeter脚本是以JMX格式为主 Jmeter也是支持录制的,支持第三方录制方式和代理录制方式. 1.第三方录制主要是通过badboy来录制,录制后另存为jmx格式即可. 2.Jmeter也有自己的 ...

  5. 性能测试之Jmeter:使用代理录制脚本

    Jmeter中有两种方法可以录制脚本,但笔者一向不喜欢把简单的事情复杂化(安装badbody麻烦,就不介绍这种方法了),那么自然就选择通过Jmeter代理来录制脚本.下面讲讲具体的脚本录制步骤: 1. ...

  6. jmeter设置浏览器代理录制web脚本

    1:添加线程组 2:添加Jmeter的HTTP代理服务器 在测试计划下右键在非测试元件下添加http代理服务器 3:设置HTTP代理服务器 目标控制器:录制的脚本会被存放的地方,选择第一步创建的线程组 ...

  7. Badboy录制测试脚本

    1. 官网下载badboy软件,地址:http://www.badboy.com.au/download/index 安装过程很简单,下一步下一步就好了. 2. 启动badboy, 页面如下,默认Re ...

  8. jmeter设置代理录制请求

    用了一段时间的jmeter感觉比LR方便很多,界面也比较简洁,开源免费,配置环境也方便,LR简直没法比,但唯一的是功能没有LR强大,毕竟是免费的,要求别那么高. 下面开始进入正题,配置环境和下载就不多 ...

  9. Jmeter打开badboy录制的脚本报类元素错误解决方法

    使用Badboy录制脚本的方式,录制完成后,导出jmx格式后,导入到JMETER的时候,出现错误信息如下: Problem loading XML from :'C:\User\Administrat ...

最新文章

  1. 脚本编程语言python语言-python算的上脚本语言吗
  2. SimpleUpdater.NET
  3. c mysql web开发实例教程_java web 开发入门实例
  4. 若川诚邀你加源码共读群,帮助更多人学会看源码~
  5. 【TensorFlow】 基于视频时序LSTM的行为动作识别
  6. Java并发编程-线程的状态
  7. 编译win10的WSL2内核(windows subsystem linux)
  8. 深度解析服务器需要虚拟化的两大条件
  9. 小乌龟与git配置使用
  10. 在线摩尔斯密码加密解密工具
  11. RS485应用电路及问题经验总结
  12. docker的离线安装方法和网络源安装方法、内网环境linux脚本批量安装docker、安装docker-compose
  13. BZOJ_5369_[Pkusc2018]最大前缀和_状压DP
  14. python画指北针_Python-geopandas 中国地图绘制
  15. kafka 分区多节点消费
  16. table maker's delimma
  17. 计算机毕业设计之java+javaweb的蛋糕甜品商城系统
  18. sicily 9562 SUME
  19. DWC PCIE学习笔记(一)-----PCIE PHY接口
  20. 【GetFeature】返回来自数据源的特征选择,包括几何和属性值

热门文章

  1. 手把手教如何用Linux下IIO设备(附代码)
  2. 卷积神经网络CNN——使用keras识别猫咪
  3. nltk安装出错,nltk_data语料库下载
  4. VMware虚拟机不能识别U盘
  5. python列表逆序
  6. 中医针灸学综合练习题库【3】
  7. mac 视频转文字工具
  8. 小米4降级android版本,小米MIUI不再允许降级,小心手机变砖
  9. 推荐系统 | 基础推荐模型 | GBDT+LR模型 | Python实现
  10. 在头条号和西瓜视频发布视频,播放量20万,却是零收益?