使用 Apache JMeter 外掛程式和 Azure 負載測試自訂負載測試

在本文中,您將瞭解如何在負載測試腳本中使用 Apache JMeter 外掛程式搭配 Azure 負載測試。 您可以使用外掛程式擴充 Apache JMeter 的核心功能。 例如,若要新增執行資料操作的功能、實作自訂要求取樣器等等。

當您在測試腳本中使用 JMeter 外掛程式時,外掛程式必須上傳至 Azure 負載測試中的測試引擎實例。 您有兩個選項可搭配 Azure 負載測試使用 JMeter 外掛程式:

  • 來自 https://jmeter-plugins.org 的外掛程式。Azure 負載測試會自動從 https://jmeter-plugins.org 預先安裝外掛程式。

  • 其他外掛程式 。 當您建立負載測試時,必須將 JMeter 外掛程式 JAVA 封存 (JAR) 檔案新增至負載測試組態。 Azure 負載測試會在負載測試啟動時,將外掛程式 JAR 檔案上傳至測試引擎實例。

注意

如果您使用自己的外掛程式程式碼,建議您使用 JAVA 17 建置可執行檔 JAR。

必要條件

  • 具有有效訂用帳戶的 Azure 帳戶。 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶
  • Azure 負載測試資源。 若要建立負載測試資源,請參閱 建立和執行負載測試
  • (選擇性)用來撰寫測試腳本的 Apache JMeter GUI。 若要安裝 Apache JMeter,請參閱 Apache JMeter 使用者入門

參考測試腳本中的 JMeter 外掛程式

若要在負載測試中使用 JMeter 外掛程式,您必須撰寫 JMX 測試腳本並參考外掛程式。 當您使用 Azure 負載測試時,腳本中沒有參考外掛程式的特殊指示。

請遵循下列步驟,使用 JMeter GUI 來安裝和參考測試腳本中的外掛程式:

  1. 使用下列兩種方式之一,在您的本機 JMeter 實例上安裝 JMeter 外掛程式:

    安裝外掛程式之後,外掛程式功能會出現在 Apache JMeter 使用者介面中。

  2. 您現在可以參考測試腳本中的外掛程式功能。

    下列螢幕擷取畫面顯示如何使用 範例取樣器 外掛程式的範例。 視外掛程式類型而定,您可能會在使用者介面中有不同的選項。

    Screenshot that shows how to add a custom sampler to a test plan by using the JMeter user interface.

注意

您也可以編輯 JMX 檔案,直接參考 JMeter 外掛程式。 在此情況下,您不需要在本機安裝外掛程式。

建立使用 JMeter 外掛程式的負載測試

如果您只參考 的 https://jmeter-plugins.org 外掛程式,您可以 上傳 JMX 測試腳本 來建立負載測試。 Azure 負載測試會將外掛程式 JAR 檔案預先安裝到測試引擎實例上。

如果您在測試腳本中使用自己的外掛程式,則必須將外掛程式 JAR 檔案新增至負載測試組態。 Azure 負載測試會在測試啟動時,在負載測試引擎上安裝您的外掛程式。

您可以在建立新的負載測試時,或隨時更新現有測試時新增外掛程式 JAR 檔案。

請遵循下列步驟,使用 Azure 入口網站來上傳 JAR 檔案:

  1. Azure 入口網站 中,移至您的 Azure 負載測試資源。

  2. 在左窗格中,選取 [測試 ] 以檢視測試清單。

  3. 選取 [建立 > 上傳 JMeter 腳本] 以使用 JMeter 腳本 建立新的負載測試。

    Screenshot that shows how to create a new load test by uploading a JMeter file in the Azure portal.

  4. 或者,如果您有現有的負載測試,請選取核取方塊,從清單中選取測試,然後選取 [ 編輯 ]。

    Screenshot that shows the list of load tests and the 'Edit' button.

  5. 選取 [ 測試計劃] 索引標籤。

  6. 從您的電腦選取 JAR 檔案,然後選取 [上傳 ] 以將檔案上傳至 Azure。

    Screenshot that shows the steps to upload a J A R file in the 'Test plan' tab on the 'Edit test' pane.

  7. 選取 [ 套用 ] 以修改測試,或選取 [ 檢閱 + 建立] 以建立測試。

    測試執行時,Azure 負載測試會在每個測試引擎實例上部署外掛程式。