1. 程式人生 > >JMeter Webservice API測試計劃

JMeter Webservice API測試計劃

使用 ade 存儲 test 城市名稱 偵聽器 sdl 協議 article

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網站提供的實際天氣報告。
技術分享圖片

JMeter Webservice API測試計劃