Badboy录制Jmeter脚本详解

一、Badboy录制脚本报错

1、在使用Badboy录制Jmeter脚本时,可能会遇到一些报错。首先,需要检查是否已经安装好Jmeter,是否将其路径添加到了Badboy配置中。

2、如果确认以上问题均已解决,但依然遇到报错,则需要检查Jmeter版本和Badboy版本是否匹配。如果版本不一致,会导致无法录制或者录制后无法进行测试。

3、还可能是Badboy没有录制到需要测试的完整流程,因此建议使用录制开启前先规划好测试流程。

二、Jmeter录制脚本

1、在Badboy中完成对测试流程的录制后,可以直接导出为Jmeter脚本。

<jmeterTestPlan version="1.2" properties="2.4">
  <hashTree>
    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
      <stringProp name="TestPlan.comments"></stringProp>
      <boolProp name="TestPlan.functional_mode">false</boolProp>
      <boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments">
        <collectionProp name="Arguments.arguments">
          <elementProp name="name" elementType="string"></elementProp>
          <elementProp name="value" elementType="string"></elementProp>
          <elementProp name="metadata" elementType="bool">false</elementProp>
        </collectionProp>
      </elementProp>
    </TestPlan>
    <hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <stringProp name="LoopController.loops">1</stringProp>
        </elementProp>
      </ThreadGroup>
      <hashTree>
        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="HTTP Request" enabled="true">
          <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
            <collectionProp name="Arguments.arguments">
              <elementProp name="Argument.value" elementType="string"></elementProp>
              <elementProp name="Argument.metadata" elementType="bool">false</elementProp>
            </collectionProp>
          </elementProp>
          <elementProp name="HTTPSampler.image_parser" elementType="bool">true</elementProp>
          <elementProp name="HTTPSampler.concurrentPoolSize" elementType="int">6</elementProp>
        </HTTPSamplerProxy>
        <hashTree>
          <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="false">
            <elementProp name="HeaderManager.headers" elementType="CollectionProperty">
              <collectionProp name="HeaderManager.headers">
                <elementProp name="" elementType="Header">
                  <stringProp name="Header.name">Connection</stringProp>
                  <stringProp name="Header.value">keep-alive</stringProp>
                </elementProp>
              </collectionProp>
            </elementProp>
          </HeaderManager>
          <hashTree/>
        </hashTree>
      </hashTree>
    </hashTree>
  </hashTree>
</jmeterTestPlan>

2、导出后打开Jmeter,可以看到录制好的脚本已经自动生成,其中包括线程组、请求方法等信息。在脚本中还可以添加断言、加入循环等操作。

三、Badboy可以录制app脚本吗?

1、Badboy不仅可以录制Jmeter脚本,也可以录制app脚本。

2、在录制app脚本时,需要连接真机或者模拟器,并且在Badboy中配置好相应的手机参数。之后在Badboy中打开app,即可进行录制操作。

3、录制完成后,也可以导出为Jmeter脚本,并将其用于Jmeter的性能测试中。

四、Jmeter脚本优化

1、在录制好的Jmeter脚本中,可能会存在一些冗余的请求,需要进行优化。

2、可以筛选掉不必要的请求,如图片等静态资源文件,可以采用正则表达式进行匹配。

例:在HTTP Request中,添加取样器结果树。然后在正则表达式过滤器中填写如下表达式:
.*\.(jpg|gif|png|css|js|ico)

3、也可以对接口进行分类,将相关的请求放在一起,方便后续的性能测试操作。

五、结合CI/CD使用

1、Jmeter的性能测试通常要和CI/CD进行结合使用。

2、可以在代码的仓库中,添加一个Jmeter的文件夹,并把Jmeter的脚本放进去。之后在CI/CD的流程中加入Jmeter的性能测试,可以在持续集成或者持续交付的过程中对性能进行监控。

3、可以将测试结果作为指标分析,并根据结果对应用进行优化,提高应用的性能。

六、结语

以上是关于Badboy录制Jmeter脚本的详细阐述,包括了录制时可能遇到的问题、导出Jmeter脚本、优化脚本、结合CI/CD等方面。希望这篇文章有助于您掌握Badboy录制Jmeter脚本的技巧。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/194001.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-02 09:44
下一篇 2024-12-02 09:44

相关推荐

  • Python脚本控制其他软件

    Python作为一种简单易学、功能强大的脚本语言,具有广泛的应用领域,在自动化测试、Web开发、数据挖掘等领域都得到了广泛的应用。其中,Python脚本控制其他软件也是Python…

    编程 2025-04-29
  • Shell脚本与Python脚本的区别

    本文将从多个方面对Shell脚本与Python脚本的区别做详细的阐述。 一、语法差异 Shell脚本和Python脚本的语法存在明显差异。 Shell脚本是一种基于字符命令行的语言…

    编程 2025-04-29
  • Python自动化运维脚本

    Python自动化运维脚本是使用Python编写的代码,可以帮助管理员自动化执行繁琐、重复的操作任务。通过Python自动化运维脚本,管理员可以在更短的时间内完成工作,提高工作效率…

    编程 2025-04-28
  • 使用Python图书馆抢座脚本的完整步骤

    本文将从多个方面详细介绍如何使用Python编写图书馆的座位抢占脚本,并帮助您快速了解如何自动抢占图书馆的座位,并实现您的学习计划。 一、开发环境搭建 首先,我们需要安装Pytho…

    编程 2025-04-28
  • ArcGIS的Python脚本需要主函数吗?

    是的,ArcGIS的Python脚本需要主函数,主函数是Python脚本的入口和起点,没有主函数脚本无法运行。 一、主函数的作用 在Python脚本中,主函数是代码的入口,所有的代…

    编程 2025-04-28
  • Python监控脚本开发指南

    本文将为大家介绍Python编写监控脚本的方法和技巧,帮助大家更好地了解监控脚本在项目中的应用。 一、监控脚本概述 监控脚本可以作为一个重要的工具来监控服务器状态,包括CPU、内存…

    编程 2025-04-27
  • 如何使用JS调用Python脚本

    本文将详细介绍通过JS调用Python脚本的方法,包括使用Node.js、Python shell、child_process等三种方法,以及在Web应用中的应用。 一、使用Nod…

    编程 2025-04-27
  • Django项目中执行Python脚本

    本文将阐述在Django项目中如何执行Python脚本以及执行脚本的几种方式。 一、subprocess模块执行Python脚本 subprocess模块提供了一个简单的接口用于创…

    编程 2025-04-27
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25

发表回复

登录后才能评论