鍍金池/ 教程/ Java/ JMeter Webservice API測(cè)試計(jì)劃
JMeter Webservice API測(cè)試計(jì)劃
JMeter測(cè)試計(jì)劃
JMS主題測(cè)試計(jì)劃
JMeter測(cè)試計(jì)劃元素
JMeter Web測(cè)試計(jì)劃
JMeter函數(shù)
JMeter計(jì)時(shí)器
JMeter監(jiān)聽器
JMeter是什么?
JMeter分布式負(fù)載測(cè)試(吞吐量控制器)
JMeter FTP測(cè)試計(jì)劃
JMeter工作流程
JMeter數(shù)據(jù)庫(kù)測(cè)試計(jì)劃
測(cè)試基本術(shù)語(yǔ)
JMeter錄制登錄測(cè)試
JMeter控制器
JMS點(diǎn)對(duì)點(diǎn)測(cè)試計(jì)劃
JMeter安裝
JMeter預(yù)處理器元素
構(gòu)建JMeter測(cè)試計(jì)劃
JMeter配置元素
JMeter JMS測(cè)試計(jì)劃
JMeter特性
JMeter線程組
JMeter教程
JMeter后處理器元素

JMeter Webservice API測(cè)試計(jì)劃

在繼續(xù)本節(jié)之前,讓我們先了解一些有關(guān)Web Services API的關(guān)鍵概念。

Web Services

Web服務(wù)被定義為旨在通過(guò)網(wǎng)絡(luò)支持兩臺(tái)機(jī)器之間交互的軟件系統(tǒng)。它被設(shè)計(jì)為具有以通常在Web服務(wù)描述語(yǔ)言(WSDL)中指定的機(jī)器可處理格式描述的接口。 通常,“HTTP”是最常用的通信協(xié)議。 Web服務(wù)還使用SOAP,REST和XML-RPC作為通信手段。

Web服務(wù)可能不包含完整的規(guī)范集,有時(shí)可能無(wú)法執(zhí)行完整API可能執(zhí)行的所有任務(wù)。

API(應(yīng)用程序編程接口)

API充當(dāng)兩個(gè)不同應(yīng)用程序之間的接口,以便它們可以相互通信。 這是第三方供應(yīng)商可以編寫與其他程序輕松連接的程序的方法。API可以使用任何通信方式來(lái)啟動(dòng)應(yīng)用程序之間的交互。 例如,Linux內(nèi)核API使用中斷調(diào)用系統(tǒng)調(diào)用。

API包含一套完整的規(guī)則和規(guī)范,供軟件程序遵循以便于交互。

Web API

Web API可以被視為Web服務(wù)中的一種開發(fā),其中重點(diǎn)已經(jīng)轉(zhuǎn)移到更簡(jiǎn)單的基于表示狀態(tài)轉(zhuǎn)移(REST)的通信。 Restful API不需要基于XML的Web服務(wù)協(xié)議(SOAP和WSDL)來(lái)支持其接口。

Web服務(wù)大致分為兩類:

  • 簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP)
  • 代示狀態(tài)轉(zhuǎn)移(REST)

為了測(cè)試目的,我們將使用一些公開可用的REST API來(lái)測(cè)試JMeter。

可以在Internet上搜索各種可公開使用的REST API。并獲取API密鑰以在JMeter中設(shè)置測(cè)試。 您還可以使用任何開發(fā)環(huán)境構(gòu)建整個(gè)Web服務(wù)項(xiàng)目,并將其部署在JMeter上以運(yùn)行測(cè)試計(jì)劃。

對(duì)于此測(cè)試,我們使用的是開放天氣地圖網(wǎng)站在URL下提供的API:

https://openweathermap.org/api

下圖顯示了Open Weather Map網(wǎng)站提供的API部分。

可以在此網(wǎng)站上注冊(cè)以訪問(wèn)您的API密鑰,該密鑰隨后用于獲取正確的天氣報(bào)告。

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

下圖顯示了成功登錄后生成的API密鑰。

現(xiàn)在,我們將使用此API密鑰以及調(diào)用API的方法來(lái)獲得所需的結(jié)果。調(diào)用API的方法包括服務(wù)器名稱,后跟城市代碼/城市名稱和API密鑰。

下圖顯示了OpenWeatherMap網(wǎng)站提供的API調(diào)用示例。

現(xiàn)在,我們將創(chuàng)建一個(gè)測(cè)試計(jì)劃來(lái)測(cè)試OpenWeatherMap網(wǎng)站提供的REST API。

創(chuàng)建JMeter測(cè)試計(jì)劃

  • 進(jìn)入到JMeter/bin文件夾,雙擊jmeter.bat文件以啟動(dòng)JMeter界面。
  • 單擊“Test Plan”節(jié)點(diǎn)。
  • 將此測(cè)試計(jì)劃節(jié)點(diǎn)重命名為: WebServiceTest 。
  • 選擇 WebServiceTest 節(jié)點(diǎn),然后右鍵單擊所選項(xiàng)。
  • 鼠標(biāo)懸停在“Add” 選項(xiàng)上,然后將顯示元素列表。
  • 選擇“線程(用戶)”>“線程組”。

修改線程組的以下屬性:

  • 名稱 - Webservice user
  • 線程數(shù)(用戶) - 2
  • 加速期 - 保留默認(rèn)值(1)。
  • 循環(huán)計(jì)數(shù)-1

添加采樣器

  • 選擇Webservice user 元素(線程組),然后右鍵單擊所選項(xiàng)。
  • 鼠標(biāo)懸停在“Add”選項(xiàng)上,然后將顯示元素列表。
  • 選擇Sampler> HTTP Request。

在HTTP Request控制面板中設(shè)置以下字段:

  • 名稱 - HTTP請(qǐng)求
  • 服務(wù)器名稱或IP - api.openweathermap.org
  • 路徑 - data/2.5/weather
  • 參數(shù) - q = London
  • appid = 3f25ec8eed9e1951e21407a34312c2c8

添加監(jiān)聽器

Listener元素將負(fù)責(zé)將HTTP請(qǐng)求的所有結(jié)果存儲(chǔ)在文件中,并呈現(xiàn)數(shù)據(jù)的可視化模型。

  • 選擇Webservice user元素。
  • 鼠標(biāo)懸停在“Add”選項(xiàng)上,然后將顯示元素列表。
  • 選擇Listener> View Results Tree選項(xiàng)。

保存并執(zhí)行測(cè)試計(jì)劃

  • 單擊 File > Save Test Plan as 。
  • 將整個(gè)測(cè)試計(jì)劃保存為HTTP_test.jmx
  • 單擊Run > Start以執(zhí)行測(cè)試計(jì)劃。

驗(yàn)證輸出

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

在響應(yīng)數(shù)據(jù)選項(xiàng)卡中,可以看到OpenWeatherMap網(wǎng)站提供的實(shí)際天氣報(bào)告。