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/zh-tw/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

發表回復

登錄後才能評論