使用Jmeter录制脚本并调试

摘要:
i) .*.(bmp|css|js|gif|ico|jpe?g|png|swf|eot|otf|ttf|mp4|woff|woff2|do|query)(?i).*?

了解需求:
1、性能测试过程中,我们经常需要对流程化的业务进行性能测试,其中涉及到很多接口,这时候问开发拿接口和参数就会降低工作效率,直接用jmeter的录制功能就能提高工作效率
2、开发接口案例中,我们也经常会碰到一些上传、下载、导入等等一些接口功能,这些脚本如果直接问开发拿接口和参数也不方便,直接录制效率也会更高
3、百度网盘共享了一份录制模版,常用的测试元件都已经添加,排除模式也添加了常见的不需要的请求,录制模板下载方式见文章末尾介绍

  • 一、配置浏览器代理
    1. 打开IE浏览器,然后点击工具》Internet选项》
      使用Jmeter录制脚本并调试
    2. 点击连接页签,在点击局域网设置按钮
      使用Jmeter录制脚本并调试
    3. 在代理服务器一栏勾选为LAN使用代理服务器,输入地址:localhost ,端口你要设置的代理端口,本文设置为8888,然后点击确定按钮
      使用Jmeter录制脚本并调试
  • 二、开始录制脚本
    1. 首先我们配置下界面语言,默认为英文,修改下jmeter的bin目录下的jmeter.properties文件37行#language=en 改成language=zh_CN,则每次打开jmeter都显示为中文界面,如下
      使用Jmeter录制脚本并调试
      使用Jmeter录制脚本并调试
      录制过程中,可能录制的请求参数会显示乱码,也需要在jmeter.properties文件添加sampleresult.default.encoding=UTF-8 ,如下图所示
      使用Jmeter录制脚本并调试
    2. 双击运行bin目录下的jmeter.bat文件打开jmeter,首先需要在测试计划右键点击测试计划》添加》非测试元件》HTTP代理服务器
      使用Jmeter录制脚本并调试
    3. 端口中输入ie中配置的端口,分组选择put each group in a new transaction controller(在每个新组创建一个新的事务控制器,便于区分录制的请求功能)
      使用Jmeter录制脚本并调试
    4. 右键点击测试计划》添加》Threads》线程组,添加线程组
      使用Jmeter录制脚本并调试
    5. 右键点击线程组》添加》逻辑控制器》录制控制器,添加录制控制器
      使用Jmeter录制脚本并调试
    6. 然后点击HTTP代理服务器,点击启动按钮,开启录制功能,此时你打开浏览器,登陆你要测试的系统,进行的操作都会被录制下
      使用Jmeter录制脚本并调试
    7. 脚本录制如下,删除掉不要的脚本,然后进行调试
      使用Jmeter录制脚本并调试
    8. 录制过程中,可能出现界面提示"您的连接不是私密连接",实际是需要更新jmeter的crt证书
      使用Jmeter录制脚本并调试
    9. 打开IE浏览器,点击工具》Internet选项》内容》证书》受信任的根证书颁发机构》导入》下一步
      使用Jmeter录制脚本并调试
    10. 点击浏览按钮,选择bin目录下的crt证书,然点击下一步,一直点击下一步,直到点击完成
      使用Jmeter录制脚本并调试
      使用Jmeter录制脚本并调试
      使用Jmeter录制脚本并调试
      使用Jmeter录制脚本并调试
      使用Jmeter录制脚本并调试
    11. 此时,重新打开报错的百度页面,正常显示,录制成功
      使用Jmeter录制脚本并调试
  • 三、配置录制脚本排除和包含模式

    实际录制脚本过程中,可能会录制到很多不需要的网站请求,或者一些不需要的js、css之类的请求,这时我们就可以通过排除和包含模式进行过滤请求,这样录制的脚本就会更加简洁,提高开发案例效率

设置排除模式的正则表达式:
1、排除.js结尾类型的请求

.*.js

使用Jmeter录制脚本并调试
2、如果需要排除更多类型,使用正则语法,添加即可,如下所示,

(?i).*.(bmp|css|js|gif|ico|jpe?g|png|swf|eot|otf|ttf|mp4|woff|woff2|do|query)
(?i).*.(bmp|css|js|gif|ico|jpe?g|png|swf|eot|otf|ttf|mp4|woff|woff2|do|query)[?;].*

3、有时候录制的脚本需要排除比如mongodb结尾的请求,如下图
使用Jmeter录制脚本并调试
正则表达式需要另起一行,如下所示,表示接口地址以mongodb结尾的都排除

.*mongodb

使用Jmeter录制脚本并调试
设置包含模式的正则表达式:
1、只录制www.baidu.com域名的请求

.*www.baidu.com.*

使用Jmeter录制脚本并调试
2、如果需要录制多个域名的请求,只要用正则|连接即可,如下所示

.*www.baidu.com.*|.*www.google.com.*

3、这样录制的请求就只有谷歌和百度的请求,其它网站的请求都会被过滤掉
使用Jmeter录制脚本并调试
使用Jmeter录制脚本并调试

    • 四、调试脚本
      1. 添加debug sample用来调试,右键点击线程组》添加>Sample》Debug Sample
        使用Jmeter录制脚本并调试
      2. 添加查看结构树,右键点击线程组》监听器》察看结果树
        使用Jmeter录制脚本并调试
      3. 点击启动按钮,就可以在察看结果树中看到调取的变量是否成功
        使用Jmeter录制脚本并调试
        • 五、本章介绍如何录制ios端的app请求
          1.目前app端接触过的接口都是走https,所以需要安装证书,也就是jmeter的bin目录的ApacheJMeterTemporaryRootCA.crt,可以把该证书发送到手机,然后安装
          使用Jmeter录制脚本并调试
          2.如下所示,本人亲测发送到QQ手机端,然后使用QQ浏览器打开,就可以安装成功
          使用Jmeter录制脚本并调试
          3.安装完成之后,需要在设置》通用》关于本机》证书信任设置,把_DO NOT INSTALL unless this is your certificate开启
          使用Jmeter录制脚本并调试
          4.进入设置》通用》描述文件与设备管理,查看_DO NOT INSTALL unless this is your certificate是否显示已验证,如果已验证,就可以进行录制请求了
          使用Jmeter录制脚本并调试
          5.在手机已经连接wifi(连接的wifi网络需要和电脑的网络一致)的情况下设置wifi代理,点击手动输入电脑ip,端口和jmeter的HTTP代理端口保持一致,如下所示
          使用Jmeter录制脚本并调试
          使用Jmeter录制脚本并调试
          6.启动录制按钮,对app端进行操作,就可以成功录制请求
          使用Jmeter录制脚本并调试

免责声明:文章转载自《使用Jmeter录制脚本并调试》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何添加JWT生成的token在请求头中PELCOD与PELCOP协议介绍下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MongoDB基础命令及操作

MongoDB:NoSQL数据库 MongoDB中的重要指示点 MongoDB中的三要素 数据库 集合 文档 MongoDB中的数据存储是以Bson的形式存储的,Bson是二进制的json,所以看上去记录的形式类似于json数据 MongoDB中集合中的数据不同于关系型数据库中的数据,MongoDB中文档结构可以不同,因此扩展性非常好 Mong...

Jmeter+ant+Jenkins实现接口自动化平台及报告发送

项目中实现了比较方便的自动化体系,一直没时间总结一下,现抽空整理一番,废话不多说  内容如下: 一、环境准备  jmeter : 编写接口脚本,实现接口测试 ant  :静默执行jmeter脚本,并生成测试报告 jenkins  :集成接口测试到项目流程,实现定时运行及接口测试报告邮件发送 ------以上准备工作可以百度自行安装,工具安装环境无依赖,把环...

在Linux下执行Jmeter脚本

前言 Jmeter这款接口测试工具,已经在越来越多的公司被要求会使用了。 而且,现在应该部分小伙伴们都开始用起来了。 但是,你们知道除了在Windows用图形化界面的Jmeter执行脚本之外,还有其他可以执行的方法吗?? 今天就来告诉你们,如何在Linux服务器里执行Jmeter的jmx。 前提准备: 1.Linux下安装好JDK 2.在Windows下使...

[Mongo] 解决mongoose不支持条件操作符 $gt$gte:$lte$ne $in $all $not

reference : http://blog.sina.com.cn/s/blog_4df23d840100u25x.html 找到mongoose的安装目录 /usr/local/lib/node/mongoose/lib/mongoose/schema 下的文件:string.js 修改SchemaString.prototype.$conditio...

Jmeter接口压力测试(先登录再测接口)

Jmeter测试接口(包括登陆操作) 1.      创建HTTP Request先登录 参考: http://blog.csdn.net/ab_2016/article/details/78249686 注意:勾选FollowRedirects 自动重定向Redirect Automatically:HttpClient接收到请求后,如果请求中包含重定...

Tomcat学习总结(3)——Tomcat优化详细教程

Tomcat是我们经常使用的 servlet容器之一,甚至很多线上产品都使用 Tomcat充当服务器。而且优化后的Tomcat性能提升显著,本文从以下几方面进行分析优化。 一、内存优化 默认情况下Tomcat的相关内存配置较低,这对于一些大型项目显然是不够用的,这些项目运行就已经耗费了大部分内存空间,何况大规模访问的情况。即使是本文中的这个只有一个页面的...