• 使用Jmeter录制脚本并调试


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

    一、配置浏览器代理
    1. 打开IE浏览器,然后点击工具》Internet选项》

    2. 点击连接页签,在点击局域网设置按钮

    3. 在代理服务器一栏勾选为LAN使用代理服务器,输入地址:localhost ,端口你要设置的代理端口,本文设置为8888,然后点击确定按钮

    二、开始录制脚本
    1. 首先我们配置下界面语言,默认为英文,修改下jmeter的bin目录下的jmeter.properties文件37行#language=en 改成language=zh_CN,则每次打开jmeter都显示为中文界面,如下


    2. 录制过程中,可能录制的请求参数会显示乱码,也需要在jmeter.properties文件添加sampleresult.default.encoding=UTF-8 ,如下图所示

    3. 双击运行bin目录下的jmeter.bat文件打开jmeter,首先需要在测试计划右键点击测试计划》添加》非测试元件》HTTP代理服务器

    4. 端口中输入ie中配置的端口,分组选择put each group in a new transaction controller(在每个新组创建一个新的事务控制器,便于区分录制的请求功能)

    5. 右键点击测试计划》添加》Threads》线程组,添加线程组

    6. 右键点击线程组》添加》逻辑控制器》录制控制器,添加录制控制器

    7. 然后点击HTTP代理服务器,点击启动按钮,开启录制功能,此时你打开浏览器,登陆你要测试的系统,进行的操作都会被录制下

    8. 脚本录制如下,删除掉不要的脚本,然后进行调试

    9. 录制过程中,可能出现界面提示"您的连接不是私密连接",实际是需要更新jmeter的crt证书

    10. 打开IE浏览器,点击工具》Internet选项》内容》证书》受信任的根证书颁发机构》导入》下一步

    11. 点击浏览按钮,选择bin目录下的crt证书,然点击下一步,一直点击下一步,直到点击完成





    12. 此时,重新打开报错的百度页面,正常显示,录制成功

    三、配置录制脚本排除和包含模式

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

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

    .*.js
    


    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结尾的请求,如下图

    4. 正则表达式需要另起一行,如下所示,表示接口地址以mongodb结尾的都排除

    .*mongodb
    


    设置包含模式的正则表达式:
    1. 只录制www.baidu.com域名的请求

    .*www.baidu.com.*
    


    2. 如果需要录制多个域名的请求,只要用正则|连接即可,如下所示

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


    3. 这样录制的请求就只有谷歌和百度的请求,其它网站的请求都会被过滤掉

     四、调试脚本
    1. 添加debug sample用来调试,右键点击线程组》添加>Sample》Debug Sample

    2. 添加查看结构树,右键点击线程组》监听器》察看结果树

    3. 点击启动按钮,就可以在察看结果树中看到调取的变量是否成功

    五、本章介绍如何录制ios端的app请求
    1. 目前app端接触过的接口都是走https,所以需要安装证书,也就是jmeter的bin目录的ApacheJMeterTemporaryRootCA.crt,可以把该证书发送到手机,然后安装

    2. 如下所示,本人亲测发送到QQ手机端,然后使用QQ浏览器打开,就可以安装成功

    3. 安装完成之后,需要在设置》通用》关于本机》证书信任设置,把_DO NOT INSTALL unless this is your certificate开启

    4. 进入设置》通用》描述文件与设备管理,查看_DO NOT INSTALL unless this is your certificate是否显示已验证,如果已验证,就可以进行录制请求了

    5. 在手机已经连接wifi(连接的wifi网络需要和电脑的网络一致)的情况下设置wifi代理,点击手动输入电脑ip,端口和jmeter的HTTP代理端口保持一致,如下所示


    6.启动录制按钮,对app端进行操作,就可以成功录制请求


    如果文章对你有帮助,欢迎关注本人公众号,公众号与本平台文章同步,方便大家查阅,本人会持续推出与测试有关的文章,与大家分享测试技术,每一篇原创文章都是用心编写,杜绝抄袭复制


    QQ技术交流群:加群请输入验证信息 博客园
                  在这里插入图片描述


    微信二维码关注公众号:

    在这里插入图片描述


    关注之后,回复资源下载,即可获取本人共享的各种资源下载地址

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dkyHNY2D-1569554485737)(https://s1.51cto.com/images/blog/201908/06/2e62f8806e1dc1c391c4332ac7fd70b1.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)]

  • 相关阅读:
    canvas性能优化——离屏渲染
    event.target 和 event.currentTarget 的区别
    Electron 主进程和渲染进程互相通信
    谈谈 JS 垃圾回收机制
    【Vue】Vue中render函数用到的with(this)中with的用法及其优缺点
    Java递归读取文件路径下所有文件名称并保存为Txt文档
    Java读取Excel指定列的数据详细教程和注意事项
    Sybase ASE无响应的又一个情况
    AWR报告导出的过程报ORA-06550异常
    如何借助浏览器Console使用Js进行定位和操作元素
  • 原文地址:https://www.cnblogs.com/Jmeter-Automation/p/12730559.html
Copyright © 2020-2023  润新知