JMeter Webservice API測試計劃


在繼續本節之前,讓我們先了解一些有關Web Services API的關鍵概念。

Web Services

Web服務被定義為旨在通過網路支援兩台機器之間互動的軟體系統。它被設計為具有以通常在Web服務描述語言(WSDL)中指定的機器可處理格式描述的介面。 通常,「HTTP」是最常用的通訊協定。 Web服務還使用SOAP,REST和XML-RPC作為通訊手段。

Web服務可能不包含完整的規範集,有時可能無法執行完整API可能執行的所有任務。

API(應用程式程式設計介面)

API充當兩個不同應用程式之間的介面,以便它們可以相互通訊。 這是第三方供應商可以編寫與其他程式輕鬆連線的程式的方法。API可以使用任何通訊方式來啟動應用程式之間的互動。 例如,Linux核心API使用中斷呼叫系統呼叫。

API包含一套完整的規則和規範,供軟體程式遵循以便於互動。

Web API

Web API可以被視為Web服務中的一種開發,其中重點已經轉移到更簡單的基於表示狀態轉移(REST)的通訊。 Restful API不需要基於XML的Web服務協定(SOAP和WSDL)來支援其介面。

Web服務大致分為兩類:

  • 簡單物件存取協定(SOAP)
  • 代示狀態轉移(REST)

為了測試目的,我們將使用一些公開可用的REST API來測試JMeter。

可以在Internet上搜尋各種可公開使用的REST API。並獲取API金鑰以在JMeter中設定測試。 您還可以使用任何開發環境構建整個Web服務專案,並將其部署在JMeter上以執行測試計劃。

對於此測試,我們使用的是開放天氣地圖網站在URL下提供的API:

https://openweathermap.org/api

下圖顯示了Open Weather Map網站提供的API部分。

可以在此網站上註冊以存取您的API金鑰,該金鑰隨後用於獲取正確的天氣報告。

在我們的例子中,生成的API金鑰:3f25ec8eed9e1951e21407a34312c2c8

下圖顯示了成功登入後生成的API金鑰。

現在,我們將使用此API金鑰以及呼叫API的方法來獲得所需的結果。呼叫API的方法包括伺服器名稱,後跟城市程式碼/城市名稱和API金鑰。

下圖顯示了OpenWeatherMap網站提供的API呼叫範例。

現在,我們將建立一個測試計劃來測試OpenWeatherMap網站提供的REST API。

建立JMeter測試計劃

  • 進入到JMeter/bin檔案夾,雙擊jmeter.bat檔案以啟動JMeter介面。
  • 單擊「Test Plan」節點。
  • 將此測試計劃節點重新命名為: WebServiceTest
  • 選擇 WebServiceTest 節點,然後右鍵單擊所選項。
  • 滑鼠懸停在「Add」 選項上,然後將顯示元素列表。
  • 選擇「執行緒(使用者)」>「執行緒組」。

修改執行緒組的以下屬性:

  • 名稱 - Webservice user
  • 執行緒數(使用者) - 2
  • 加速期 - 保留預設值(1)。
  • 迴圈計數-1

新增取樣器

  • 選擇Webservice user 元素(執行緒組),然後右鍵單擊所選項。
  • 滑鼠懸停在「Add」選項上,然後將顯示元素列表。
  • 選擇Sampler> HTTP Request

在HTTP Request控制面板中設定以下欄位:

  • 名稱 - HTTP請求
  • 伺服器名稱或IP - api.openweathermap.org
  • 路徑 - data/2.5/weather
  • 引數 - q = London
  • appid = 3f25ec8eed9e1951e21407a34312c2c8

新增監聽器

Listener元素將負責將HTTP請求的所有結果儲存在檔案中,並呈現資料的視覺化模型。

  • 選擇Webservice user元素。
  • 滑鼠懸停在「Add」選項上,然後將顯示元素列表。
  • 選擇Listener> View Results Tree選項。

儲存並執行測試計劃

  • 單擊 File > Save Test Plan as
  • 將整個測試計劃儲存為HTTP_test.jmx
  • 單擊Run > Start以執行測試計劃。

驗證輸出

可以在偵聽器中看到以下輸出。

在響應資料索引標籤中,可以看到OpenWeatherMap網站提供的實際天氣報告。