在繼續本節之前,讓我們先了解一些有關Web Services API的關鍵概念。
Web服務被定義為旨在通過網路支援兩台機器之間互動的軟體系統。它被設計為具有以通常在Web服務描述語言(WSDL)中指定的機器可處理格式描述的介面。 通常,「HTTP」是最常用的通訊協定。 Web服務還使用SOAP,REST和XML-RPC作為通訊手段。
Web服務可能不包含完整的規範集,有時可能無法執行完整API可能執行的所有任務。
API充當兩個不同應用程式之間的介面,以便它們可以相互通訊。 這是第三方供應商可以編寫與其他程式輕鬆連線的程式的方法。API可以使用任何通訊方式來啟動應用程式之間的互動。 例如,Linux核心API使用中斷呼叫系統呼叫。
API包含一套完整的規則和規範,供軟體程式遵循以便於互動。
Web API可以被視為Web服務中的一種開發,其中重點已經轉移到更簡單的基於表示狀態轉移(REST)的通訊。 Restful API不需要基於XML的Web服務協定(SOAP和WSDL)來支援其介面。
Web服務大致分為兩類:
為了測試目的,我們將使用一些公開可用的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/bin
檔案夾,雙擊jmeter.bat
檔案以啟動JMeter介面。修改執行緒組的以下屬性:
在HTTP Request控制面板中設定以下欄位:
Listener元素將負責將HTTP請求的所有結果儲存在檔案中,並呈現資料的視覺化模型。
可以在偵聽器中看到以下輸出。
在響應資料索引標籤中,可以看到OpenWeatherMap網站提供的實際天氣報告。