zoukankan      html  css  js  c++  java
  • 使用Jmeter录制脚本并调试

    了解需求:
    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录制脚本并调试
  • 相关阅读:
    BZOJ 1040 (ZJOI 2008) 骑士
    BZOJ 1037 (ZJOI 2008) 生日聚会
    ZJOI 2006 物流运输 bzoj1003
    ZJOI 2006 物流运输 bzoj1003
    NOI2001 炮兵阵地 洛谷2704
    NOI2001 炮兵阵地 洛谷2704
    JLOI 2013 卡牌游戏 bzoj3191
    JLOI 2013 卡牌游戏 bzoj3191
    Noip 2012 day2t1 同余方程
    bzoj 1191 [HNOI2006]超级英雄Hero——二分图匹配
  • 原文地址:https://www.cnblogs.com/limingbs/p/12888921.html
Copyright © 2011-2022 走看看