Jmeter錄製腳本詳解

一、錄製腳本的基本概念

Jmeter是一款免費、開源的性能測試工具,可用於測試靜態或動態資源的請求,包括靜態文件、動態頁面、Web服務、FTP服務等。其中錄製腳本是Jmeter的重要特性之一。

Jmeter的錄製腳本是將HTTP請求轉換為Jmeter測試腳本的一種方式,它可以記錄用戶與Web應用程序之間交互的HTTP請求和響應,以便實現在後續測試中模擬這些請求和響應。錄製腳本包括3部分:HTTP代理伺服器、瀏覽器和Web應用程序。

具體來說,HTTP代理伺服器收集和轉發瀏覽器通過Jmeter進行的HTTP請求。Jmeter使用代理伺服器截獲HTTP請求,瀏覽器從代理伺服器接收響應,然後Jmeter通過代理伺服器記錄HTTP請求和響應,從而生成測試腳本。

二、錄製腳本的使用方法

使用Jmeter錄製腳本的步驟如下:

1. 配置HTTP代理伺服器

在Jmeter的「Workbench」下找到「HTTP(S)代理伺服器」,右鍵選擇「添加」並設置埠號和Target Controller。Target Controller可以設置成根節點或者是任意一個現有節點下面的子節點。配置完成後,在「Test Plan」中保存HTTP代理伺服器的設置。

<HTTPProxyControl>
  <stringProp name="port">8080</stringProp>
  <stringProp name="domain"></stringProp>
  <stringProp name="target">/</stringProp>
  <boolProp name="captureHttpHeaders">true</boolProp>
  <boolProp name="addAssertions">false</boolProp>
  <boolProp name="useRegexForSamplerName">false</boolProp>
  <boolProp name="responseBasedActionNaming">false</boolProp>
  <boolProp name="assumeHttpVersion">true</boolProp>
  <boolProp name="embeddedUrlRE"></boolProp>
  <boolProp name="includeScope">false</boolProp>
  <elementProp name="agreements">
    <collectionProp>
      <stringProp name="-1">on</stringProp>
      <stringProp name="-241414560">on</stringProp>
    </collectionProp>
  </elementProp>
  <elementProp name="exclude_list">
    <stringProp name="-1"></stringProp>
  </elementProp>
  <stringProp name="filename"></stringProp>
  <boolProp name="auto_redirects">true</boolProp>
  <boolProp name="follow_redirects">true</boolProp>
  <stringProp name="proxyChain"></stringProp>
</HTTPProxyControl>

2. 配置瀏覽器

在瀏覽器中設置代理伺服器。這裡以Chrome為例,進入「設置」-「高級」-「系統」-「打開代理設置」,在「代理伺服器」中輸入「localhost:8080」,保存後關閉設置。

註:在配置完成後,要確保代理伺服器已啟動,可通過Jmeter工具中的「Start」按鈕來開啟,或者通過命令行「jmeter -n -t /path/to/script.jmx」來啟動。

3. 錄製腳本

打開瀏覽器,訪問需要測試的Web應用程序。Jmeter將記錄所有的HTTP請求和響應。在錄製測試期間,請注意避免瀏覽其它網站,因為這些請求也會被記錄下來,與當前所需的腳本無關。

4. 查看並編輯腳本

打開Jmeter的「Recording Controller」,可看到已經錄製到的請求和相關信息。可以對請求進行編輯,例如添加斷言、修改請求頭等。編輯完成後,可保存測試腳本,以備後續使用。

<RecordingController guiclass="RecordController" testclass="RecordingController" testname="Test" enabled="true">
  <boolProp name="gui.recording&controller.disabled">false</boolProp>
  <stringProp name="TestPlan.comments"></stringProp>
  <boolProp name="TestPlan.functional_mode">false</boolProp>
  <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
  <elementProp name="HTTPsampler.HTTPsampler-Proxy" elementType="HTTPSamplerProxy" guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" enabled="true">
    <boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
    <elementProp name="HTTPArgument.paramstyle" elementType="HTTPArgument"></elementProp>
    <elementProp name="HTTPSampler.method">
      <stringProp name="HTTPSampler.method">POST</stringProp>
    </elementProp>
    <elementProp name="HTTPSampler.follow_redirects">true</elementProp>
    <elementProp name="HTTPSampler.auto_redirects">false</elementProp>
    <elementProp name="HTTPSampler.use_keepalive">true</elementProp>
    <elementProp name="HTTPSampler.DO_MULTIPART_POST">false</elementProp>
    <elementProp name="HTTPSampler.monitor">false</elementProp>
    <elementProp name="HTTPSampler.embedded_url_re"></elementProp>
    <elementProp name="HTTPSampler.ignore_failed_embedded_resources">false</elementProp>
    <elementProp name="HTTPSampler.useMultipartForPost">false</elementProp>
    <elementProp name="HTTPSampler.connect_timeout"></elementProp>
    <elementProp name="HTTPSampler.response_timeout"></elementProp>
    <elementProp name="HTTPSampler.protocol">
      <stringProp name="http.protocol.version">HTTP/1.1</stringProp>
    </elementProp>
    &lt>...
  </elementProp>
</RecordingController>

三、錄製腳本的注意事項

在使用Jmeter錄製腳本時,需要注意以下事項:

1. 避免瀏覽其它網站

在錄製測試期間,要避免在瀏覽器中訪問其它網站。因為這些請求也會被記錄下來,與當前所需的腳本無關。

2. 檢查測試腳本的正確性

錄製測試腳本後,要對其進行檢查,確保沒有錯誤和缺陷。可以使用Jmeter內置的調試工具,查看腳本中每個請求和響應之間的關係是否正確。

3. 添加斷言和驗證器

測試腳本中加入斷言和驗證器,可用於檢查是否所有請求和響應都正確,包括HTTP代碼、響應時間、響應內容等。這是測試腳本的基本要求,以便達到準確測試的目的。

4. 盡量避免不必要的處理

Jmeter的錄製腳本會記錄所有的HTTP請求和響應,包括一些不必要的請求,例如廣告請求、跟蹤請求等。這些請求需要在後續的編輯中刪除,以避免影響測試結果。

5. 適時保存測試腳本

在錄製過程中適時保存測試腳本,避免遺失重要的測試數據。同時也避免了在一次錄製中測試腳本過於臃腫,難以管理的問題。

四、總結

本文詳細介紹了使用Jmeter錄製腳本的基本概念、使用方法以及注意事項。通過錄製腳本,可以快速生成測試用例並進行性能測試。同時也需要注意腳本的準確性和可讀性,在後續的測試中可以快速定位問題和改進。

原創文章,作者:EPHU,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/134520.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
EPHU的頭像EPHU
上一篇 2024-10-04 00:06
下一篇 2024-10-04 00:06

相關推薦

  • 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
  • 神經網路代碼詳解

    神經網路作為一種人工智慧技術,被廣泛應用於語音識別、圖像識別、自然語言處理等領域。而神經網路的模型編寫,離不開代碼。本文將從多個方面詳細闡述神經網路模型編寫的代碼技術。 一、神經網…

    編程 2025-04-25
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁碟中。在執行sync之前,所有的文件系統更新將不會立即寫入磁碟,而是先緩存在內存…

    編程 2025-04-25

發表回復

登錄後才能評論